<SEC-DOCUMENT>0001641172-25-001675.txt : 20250331
<SEC-HEADER>0001641172-25-001675.hdr.sgml : 20250331
<ACCEPTANCE-DATETIME>20250331160041
ACCESSION NUMBER:		0001641172-25-001675
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		109
CONFORMED PERIOD OF REPORT:	20241231
FILED AS OF DATE:		20250331
DATE AS OF CHANGE:		20250331

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FLEXIBLE SOLUTIONS INTERNATIONAL INC
		CENTRAL INDEX KEY:			0001069394
		STANDARD INDUSTRIAL CLASSIFICATION:	MISCELLANEOUS CHEMICAL PRODUCTS [2890]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		EIN:				911922863
		STATE OF INCORPORATION:			NV
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA B C
		STATE:			A1
		ZIP:			V8N 1X5
		BUSINESS PHONE:		2504779969

	MAIL ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA BC CANADA
		STATE:			A1
		ZIP:			V8N 1X5
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>form10-k.htm
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:FSI="http://flexiblesolutions.com/20241231">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_029_US%2DGAAP%2D2024%2D(with%2DECD%2Dand%2DCYD) -->
<!-- Field: Set; Name: xdx; ID: xdx_038_FSI_flexiblesolutions.com_20241231 -->
<!-- Field: Set; Name: xdx; ID: xdx_04C_20240101_20241231 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DDocumentFiscalPeriodFocus_FY -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DEntityCentralIndexKey_0001069394 -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_Segments_0_Segments -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<!-- Field: Set; Name: xdx; ID: xdx_07B_SO_form10%2Dk.xdxs -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000004" name="dei:DocumentFiscalPeriodFocus">FY</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000005" name="dei:EntityCentralIndexKey">0001069394</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl0021" name="dei:EntityIncorporationStateCountryCode">A0</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-12-31" id="xdx2ixbrl0089" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2024-12-31" id="xdx2ixbrl0104" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2024-12-31" id="xdx2ixbrl0131" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-12-31" id="xdx2ixbrl0140" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2024-12-31" id="xdx2ixbrl0152" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2023-12-31" id="xdx2ixbrl0153" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2023-01-012023-12-31" id="xdx2ixbrl0279" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:LeaseTerminationFee" contextRef="From2023-01-012023-12-31" id="xdx2ixbrl0282" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2023-01-012023-12-31" id="xdx2ixbrl0365" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl0367" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProceedsFromSaleOfLandHeldForUse" contextRef="From2023-01-012023-12-31" id="xdx2ixbrl0407" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProceedsFromSaleOfProductiveAssets" contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl0412" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl0418" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:ProceedsFromRedemptionOfInvestments" contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl0421" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:ProceedsFromNoncontrollingInterestOfMendota" contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl0424" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0497" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0498" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0499" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0502" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0505" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0506" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0508" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0510" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0513" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0514" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0515" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0516" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="xdx2ixbrl0517" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0521" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0522" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0524" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0531" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0532" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0534" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0539" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0540" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0541" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0542" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="xdx2ixbrl0543" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0547" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0549" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0550" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0552" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0575" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0576" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0577" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0580" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0583" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0584" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0586" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0588" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0591" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0592" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0594" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0601" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0602" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0604" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0609" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0610" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0611" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0612" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-012024-12-31_us-gaap_ParentMember" id="xdx2ixbrl0613" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0617" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0619" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0620" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0622" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-12-31" id="xdx2ixbrl0775" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2024-12-31" id="xdx2ixbrl0791" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_us-gaap_LandMember" id="xdx2ixbrl0835" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl0839" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl0842" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="xdx2ixbrl0862" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl0866" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl0869" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember" id="xdx2ixbrl1058" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-12-31_custom_StockBankMember_custom_NewAgreementMember" id="xdx2ixbrl1060" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember" id="xdx2ixbrl1143" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl1204" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="xdx2ixbrl1205" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="FSI:DeferredTaxAssetsShareIssuanceCosts" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1258" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1269" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1270" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2023-12-31" id="xdx2ixbrl1273" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2023-12-31" id="xdx2ixbrl1282" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesInvestments" contextRef="AsOf2023-12-31" id="xdx2ixbrl1291" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2023-01-012023-12-31_custom_ConsultantsMember" id="xdx2ixbrl1469" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2023-01-012023-12-31_custom_EmployeesMember" id="xdx2ixbrl1473" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1501" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1505" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_ConsultantStockOptionMember" id="xdx2ixbrl1519" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="xdx2ixbrl1571" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1591" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1596" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1601" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1606" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1626" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1631" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1634" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1636" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1646" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1651" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1656" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1661" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1681" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1686" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1689" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="xdx2ixbrl1691" unitRef="USD" xs:nil="true"></ix:nonFraction>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="fsi-20241231.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2024-01-01to2024-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-03-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-03-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </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="AsOf2024-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsAndENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</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="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_FirstTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FirstTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_SecondTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:SecondTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_ThirdTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:ThirdTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_FourthTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FourthTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_TechnologyEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-08-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-08-012024-08-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-08-01</xbrli:startDate>
        <xbrli:endDate>2024-08-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2025-01-01_custom_FloridaBasedLLCMember_us-gaap_SubsequentEventMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2025-01-01</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</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="AsOf2022-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_FloridaBasedLLCMember100479515">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_FloridaBasedLLCMember100479531">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_FloridaBasedLLCMember100479531">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-06-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-06-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-06-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember_custom_NanoChemSolutionIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_NoncontrollingInterestsMember_custom_StockBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:NoncontrollingInterestsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-08-31_custom_StockBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-08-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-08-01</xbrli:startDate>
        <xbrli:endDate>2024-08-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruTwoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruTwoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</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="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</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="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</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="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</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="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</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="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</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="AsOf2024-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</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="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_FederalAndStatedIncomeTaxMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">FSI:FederalAndStatedIncomeTaxMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandThirtyTaxYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTaxYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandThirtyOneYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyOneYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandThirtyTwoYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTwoYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandThirtySevenYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtySevenYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandThirtyNineYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyNineYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandFourtyYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandFourtyOneYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyOneYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandFourtyTwoYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyTwoYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_TwoThousandFourtyThreeYearMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyThreeYearMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</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="AsOf2022-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="AsOf2023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_WagesAndAdministrativeSalariesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:WagesAndAdministrativeSalariesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_WagesAndAdministrativeSalariesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:WagesAndAdministrativeSalariesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ConsultingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:ConsultingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConsultingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:ConsultingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ConsultantStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">FSI:ConsultantStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ConsultantStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">FSI:ConsultantStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</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="AsOf2023-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</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="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</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="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_OtherMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</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="AsOf2023-12-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_OtherMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-12-31_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</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="AsOf2024-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-12-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-10-012024-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-10-01</xbrli:startDate>
        <xbrli:endDate>2024-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2025-01-012025-03-31_us-gaap_SubsequentEventMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2025-01-01</xbrli:startDate>
        <xbrli:endDate>2025-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    <xbrli:unit id="Segments">
      <xbrli:measure>FSI:Segments</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
  <ix:relationship fromRefs="xdx2ixbrl1591" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1596" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1601" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1606" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="Fact001611" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="Fact001616" toRefs="Footnote001698 Footnote001699"/>
  <ix:relationship fromRefs="Fact001621" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1626" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1631" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1636" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="Fact001641" toRefs="Footnote001698 Footnote001700"/>
  <ix:relationship fromRefs="xdx2ixbrl1646" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1651" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1656" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1661" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="Fact001666" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="Fact001671" toRefs="Footnote001698 Footnote001699"/>
  <ix:relationship fromRefs="Fact001676" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1681" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1686" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="xdx2ixbrl1691" toRefs="Footnote001698"/>
  <ix:relationship fromRefs="Fact001696" toRefs="Footnote001698 Footnote001700"/>
  <ix:relationship fromRefs="Fact001614" toRefs="Footnote001699"/>
  <ix:relationship fromRefs="Fact001615" toRefs="Footnote001699"/>
  <ix:relationship fromRefs="Fact001617" toRefs="Footnote001699"/>
  <ix:relationship fromRefs="Fact001669" toRefs="Footnote001699"/>
  <ix:relationship fromRefs="Fact001670" toRefs="Footnote001699"/>
  <ix:relationship fromRefs="Fact001672" toRefs="Footnote001699"/>
  <ix:relationship fromRefs="Fact001639" toRefs="Footnote001700"/>
  <ix:relationship fromRefs="Fact001640" toRefs="Footnote001700"/>
  <ix:relationship fromRefs="Fact001642" toRefs="Footnote001700"/>
  <ix:relationship fromRefs="Fact001694" toRefs="Footnote001700"/>
  <ix:relationship fromRefs="Fact001695" toRefs="Footnote001700"/>
  <ix:relationship fromRefs="Fact001697" toRefs="Footnote001700"/>
  </ix:resources>
 </ix:header>
</div>


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

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

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

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

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

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

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

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--DocumentAnnualReport_c20240101__20241231_zJ27cz5N7VC4"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleantrue" id="Fact000014" name="dei:DocumentAnnualReport">&#9746;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ANNUAL
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the Fiscal Year Ended <span id="xdx_90C_edei--DocumentPeriodEndDate_c20240101__20241231_zYCMENu8Mu08"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:datemonthdayyearen" id="Fact000015" name="dei:DocumentPeriodEndDate"><span id="xdx_909_edei--CurrentFiscalYearEndDate_c20240101__20241231_ztWgYUs4tFBk"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:datemonthdayen" id="Fact000016" name="dei:CurrentFiscalYearEndDate">December 31</ix:nonNumeric></span>, <span id="xdx_901_edei--DocumentFiscalYearFocus_c20240101__20241231_zMLd7ZuiaYUh"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000017" name="dei:DocumentFiscalYearFocus">2024</ix:nonNumeric></span></ix:nonNumeric></span></span></p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--DocumentTransitionReport_c20240101__20241231_zaO5TkasbrH6"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleanfalse" id="Fact000018" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TRANSITION
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
File No. <span id="xdx_904_edei--EntityFileNumber_c20240101__20241231_z7kyNazVJFe3"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000019" name="dei:EntityFileNumber">001-31540</ix:nonNumeric></span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span style="text-decoration: underline"><span id="xdx_90C_edei--EntityRegistrantName_c20240101__20241231_zteVf4cGDMjd"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000020" name="dei:EntityRegistrantName">FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</ix:nonNumeric></span></span></b></span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_edei--EntityIncorporationStateCountryCode_dxL_c20240101__20241231_zw4xbmgqw7I5" title="::XDX::A0"><span style="-sec-ix-hidden: xdx2ixbrl0021">Alberta</span></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--EntityTaxIdentificationNumber_c20240101__20241231_zblvu0ECP1n5"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000022" name="dei:EntityTaxIdentificationNumber">71-1630889</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State or other jurisdiction of</span></p>
                                                                             <p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">incorporation or organization)</span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Employer
    Identification No.)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_edei--EntityAddressAddressLine1_c20240101__20241231_zLsbQSq2C3Pc"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000023" name="dei:EntityAddressAddressLine1">6001
    54 Ave.</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--EntityAddressCityOrTown_c20240101__20241231_z5uU3beyz0Ge"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000024" name="dei:EntityAddressCityOrTown">Taber</ix:nonNumeric></span>,
    <span id="xdx_909_edei--EntityAddressStateOrProvince_c20240101__20241231_zVQnX6cEokB7"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:stateprovnameen" id="Fact000025" name="dei:EntityAddressStateOrProvince">Alberta</ix:nonNumeric></span>, <span id="xdx_90A_edei--EntityAddressCountry_c20240101__20241231_zNGVNqhF5Uhl"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:countrynameen" id="Fact000026" name="dei:EntityAddressCountry">Canada</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_edei--EntityAddressPostalZipCode_c20240101__20241231_zRlECifxc73b"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000027" name="dei:EntityAddressPostalZipCode">T1G
    1X4</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address
    of Principal Executive Office)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Zip
    Code</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registrant&#8217;s
telephone number, including Area Code: <span id="xdx_904_edei--CityAreaCode_c20240101__20241231_zui0xfMDCH79"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000028" name="dei:CityAreaCode">(403)</ix:nonNumeric></span> <span id="xdx_90C_edei--LocalPhoneNumber_c20240101__20241231_zIaCKvtt9jEh"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000029" name="dei:LocalPhoneNumber">223-2995</ix:nonNumeric></span></span></p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 38%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title
    of each class</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 20%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading
    Symbol</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 38%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name
    of each exchange on which registered</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--Security12bTitle_c20240101__20241231_z6feVz1nrrvi"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000030" name="dei:Security12bTitle">Common
    Stock, $0.001 par value</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90C_edei--TradingSymbol_c20240101__20241231_zz2tCHMlpvSl"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000031" name="dei:TradingSymbol">FSI</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_edei--SecurityExchangeName_c20240101__20241231_zUHzcVZWDbK6"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:exchnameen" id="Fact000032" name="dei:SecurityExchangeName">NYSE
    American</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Yes
&#9744; <span id="xdx_904_edei--EntityWellKnownSeasonedIssuer_c20240101__20241231_zmck7b3g6WP4"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000033" name="dei:EntityWellKnownSeasonedIssuer">No</ix:nonNumeric></span> &#9746;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Yes
&#9744; <span id="xdx_901_edei--EntityVoluntaryFilers_c20240101__20241231_zVTB7z020uqg"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000034" name="dei:EntityVoluntaryFilers">No</ix:nonNumeric></span> &#9746;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant (1) has filed all reports to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934
during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject
to such filing requirements for the past 90 days. <span id="xdx_90F_edei--EntityCurrentReportingStatus_c20240101__20241231_zPbjaexnsgYc"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000035" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span> &#9746; No &#9744;</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if disclosure of delinquent filers pursuant to Item 405 of Regulation S-K is not contained herein, and will not be contained,
to the best of Registrant&#8217;s knowledge, in definitive proxy or information statements incorporated by reference in Part III of this
Form 10-K or any amendment to this Form 10-K. &#9746;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or a smaller reporting
company 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 12b-2 of the Exchange Act.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large
    accelerated filer &#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer &#9744;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_edei--EntityFilerCategory_c20240101__20241231_zh28AK2x6CJ3"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:entityfilercategoryen" id="Fact000037" name="dei:EntityFilerCategory">Non-accelerated
    filer</ix:nonNumeric></span> &#9746;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller
    reporting company <span id="xdx_903_edei--EntitySmallBusiness_c20240101__20241231_z8IuHbljvmJ7"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleantrue" id="Fact000038" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging
    growth company <span id="xdx_90B_edei--EntityEmergingGrowthCompany_c20240101__20241231_z05mQlSTQyC2"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleanfalse" id="Fact000039" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if 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 by the registered public accounting firm that
prepared or issued its audit report. <span id="xdx_90E_edei--IcfrAuditorAttestationFlag_c20240101__20241231_zeCCtb24mMcd"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleanfalse" id="Fact000040" name="dei:IcfrAuditorAttestationFlag">&#9744;</ix:nonNumeric></span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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 id="xdx_909_edei--DocumentFinStmtErrorCorrectionFlag_c20240101__20241231_zHxBwvie7fZ3"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleanfalse" id="Fact000041" name="dei:DocumentFinStmtErrorCorrectionFlag">&#9744;</ix:nonNumeric></span></span></p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2024 the aggregate market value of the Company&#8217;s common stock held by non-affiliates was $<span id="xdx_908_edei--EntityPublicFloat_iI_c20240630_zCvTJPKhG2B9"><ix:nonFraction name="dei:EntityPublicFloat" contextRef="AsOf2024-06-30" id="Fact000043" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,992,921</ix:nonFraction></span> based on the closing
price for shares of the Company&#8217;s common stock on the NYSE American for that date.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 30, 2025, the Company had <span id="xdx_90A_edei--EntityCommonStockSharesOutstanding_iI_pid_c20250330_z4RnxgVVXNF7"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2025-03-30" id="Fact000044" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,647,532</ix:nonFraction></span> issued and outstanding shares of common stock.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Documents
incorporated by reference: <span id="xdx_90E_edei--DocumentsIncorporatedByReferenceTextBlock_c20240101__20241231_zpEofBCJLxQc"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000045" name="dei:DocumentsIncorporatedByReferenceTextBlock">None</ix:nonNumeric></span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
terms &#8220;Flexible&#8221;, &#8220;Company&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, and &#8220;our&#8221; are used to refer to Flexible
Solutions International, Inc. and its subsidiaries, unless the context otherwise requires.</span></p>

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

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

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

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

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

<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CAUTIONARY
NOTE REGARDING FORWARD-LOOKING STATEMENTS</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Annual Report on Form 10-K for the year ended December 31, 2024 (&#8220;Annual Report&#8221;), including the Audited Consolidated Financial
Statements, contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. Forward-looking
statements include, without limitation, those statements relating to development of new products, our financial condition and our ability
to increase distribution of our products. Forward-looking statements can be identified by the use of forward-looking terminology, such
as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;estimate,&#8221;
&#8220;continue,&#8221; &#8220;plans,&#8221; &#8220;intends,&#8221; or other similar terminology. These forward-looking statements are
not guarantees of future performance and involve risks, uncertainties and assumptions that are difficult to predict. Therefore, actual
outcomes and results may differ materially from what is anticipated or forecasted in these forward-looking statements due to numerous
factors, including, but not limited to, our ability to generate or obtain sufficient working capital to continue our operations, changes
in demand for our products, the timing of customer orders and deliveries and the impact of competitive products and pricing. In addition,
such statements could be affected by general industry and market conditions and growth rates, and general domestic and international
economic conditions.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Although
we believe that the expectations reflected in these forward-looking statements are reasonable and achievable, such statements involve
risks and uncertainties and no assurance can be given that our actual results will be consistent with these forward-looking statements.
Except as otherwise required by applicable securities laws, we undertake no obligation to publicly update or revise any forward-looking
statements, whether as a result of new information, future events, changed circumstances or any other reason, after the date this Annual
Report is filed with the Securities and Exchange Commission.</span></p>

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

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

<!-- Field: Page; Sequence: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    1.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description
    of Business</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
were incorporated as Flexible Solutions Ltd., a British Columbia corporation on January 26, 1991. On May 12, 1998, we merged Flexible
Solutions Ltd. into Flexible Solutions International, Inc., a Nevada corporation. In connection with this merger, we issued 7,000,000
shares of common stock to the former shareholders of Flexible Solutions Ltd. in exchange for all of the outstanding shares of Flexible
Solutions Ltd.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2004 we purchased 52 U.S. and 139 International Patents (&#8220;IP&#8221;), as well as a 56,780 sq. ft. manufacturing plant near
Chicago, Illinois from the bankruptcy estate of Donlar Corporation (&#8220;Donlar&#8221;) for $6.15 million. The IP we acquired from
Donlar relates to water-soluble chemicals (&#8220;TPAs&#8221;) which prevent corrosion and scaling in water pipes used in the petroleum,
chemical, utility and mining industries. TPAs are also used to enhance fertilizers and improve crop yields and as additives for household
laundry detergents, consumer care products and pesticides. These assets are held in our wholly owned subsidiary, NanoChem Solutions Inc.
(&#8220;NanoChem&#8221;), which has become our largest revenue generator.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
October 2018, we purchased 65% of ENP Investments, LLC, a manufacturing and distribution company active in the areas of golf, turf and
ornamental agriculture products.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2019, we purchased 50% of a Florida based limited liability company engaged in international sales of fertilizer additives. This
purchase is accounted for as an equity accounted investment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2019, we changed our corporate domicile from Nevada to Alberta, Canada.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2020, ENP Realty, LLC became a wholly owned subsidiary of ENP Investments, LLC and was renamed to ENP Mendota, LLC. ENP Mendota
owns a building that the Company occupies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2022, ENP Peru Investments, LLC became a wholly owned subsidiary with NanoChem owning 91.67% and ENP Investments, LLC owning 8.33%
of ENP Peru. In 2023, NanoChem purchased the remaining 8.33% of shares to become sole owner. ENP Peru was previously accounted for under
the equity method however, from 2022 it is consolidated into the financial statements from the date control was obtained. ENP Peru owns
a building the Company occupies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2023, 317 Mendota LLC (&#8220;317 Mendota&#8221;) was created to purchase real estate and the Company has 80% ownership with an
unrelated party (NCI) owning the remaining 20%. The Company occupies part of the building currently owned by 317 Mendota and intends
to rent out the remaining portion of the building. For financial reporting purposes, the assets, liabilities and earnings of 317 Mendota
are consolidated into these financial statements. The NCI&#8217;s ownership interest in 317 Mendota is recorded in non-controlling interests
in these consolidated financial statements.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
operate through a number of wholly-owned subsidiaries which are further discussed in Note 1 to the consolidated financial statements
included as part of this report. Unless otherwise indicated, all references to our business include the operations of these subsidiaries.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
website is www.flexiblesolutions.com</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Thermal
Polyaspartates (&#8220;TPAs&#8221;)</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
manufacture TPAs in our Peru, Illinois plant using a thermal polymerizing process. The multiple variants produced are optimized for individual
market verticals and sold for end use or through distribution.</span></p>

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


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

<!-- Field: Page; Sequence: 3; Options: NewSection; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
for Oilfields</span>. TPAs are used to reduce scale and corrosion in various &#8220;topside&#8221; water systems. They are used in place
of traditional phosphonate and other products when biodegradability is required by environmental regulations. We have the ability to
custom manufacture TPAs depending on the specific water conditions associated with any oil well. TPAs are also used in fracking fluids
to reduce the toxicity while maintaining equal function.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
for the Agricultural Industry</span>. TPAs have the ability to reduce fertilizer crystallization before, during and after application and
can also delay crystal formation between fertilizer and minerals present in the soil. Once crystallized, fertilizer and soil minerals
are not able to provide plant nourishment. As a result, in select conditions the use of TPAs either blended with fertilizer or applied
directly to crops can increase yields significantly. TPAs are designated for crop nutrient management programs and should not be confused
with crop protection and pesticides or other agricultural chemical applications. Depending on the application, TPA products are marketed
under a variety of brands including EX-10TM, AmisorbTM, LYNXTM, MAGNETTM, AmGroTM and VOLTTM. Markets of significance include corn, wheat,
soybeans, rice, potatoes, sugar beets, cotton, tomatoes, almonds and other high value per acre crops.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
for Irrigation</span>. The crystallization prevention ability of TPAs can also be useful in select irrigation conditions. By reducing calcium
carbonate scale propagation, TPAs can prevent early plugging of drip irrigation ports, reduce maintenance costs and lengthen the life
of equipment. TPAs compete with acid type scale removers, but have the advantage of a positive yield effect on the plant, as well as
an easier deployment formulation with liquid fertilizers when used as part of a &#8220;fertigation&#8221; program. Our TPAs for drip
irrigation scale prevention are marketed and sold through the same channels as TPAs used by the agricultural industry.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">TPAs
in Cleaning Products</span>. TPA can replace polyacrylates in cleaning products which is valuable because TPA is biodegradable while polyacrylates
are not. In a cleaning product formulation, TPA prevents the re-deposition of dirt onto the surfaces to be cleaned allowing dirt to be
rinsed away.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Nitrogen
Conservation Products for Agriculture.</span> We manufacture and sell two conservation products and mixtures used for slowing nitrogen loss
from fields. One significant loss route for nitrogen fertilizer is enzymatic degradation by bacteria naturally present in soil. Our product,
SUN 27TM inhibits the bacterial action and keeps the nitrogen fertilizer available for plant growth. The second significant nitrogen
loss mechanism is de-nitrification. This is also caused by bacterial activity in soil resulting in oxygen being stripped from the fertilizer
leaving nitrogen gas. The gas can&#8217;t be used by the plants and escapes into the atmosphere. Our N Savr 30TM product uses the most
effective active ingredients available to combat this cause of fertilizer loss. We sell SUN 27TM and N Savr 30TM through distributors
in North and South America under our trade names and under private labels.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Food
and Nutritional Materials</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have installed custom equipment used to produce food and nutritional materials. All the ingredients we produce are custom products for
specific clients and are confidential. We anticipate that this market vertical will grow over time.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
studies indicate that approximately 70% of the energy lost from a swimming pool occurs through water evaporation. HEATSAVR&#174; is a
chemical product for use in swimming pools and spas that forms a thin, transparent layer on the water&#8217;s surface. The transparent
layer slows the evaporation of water, allowing the water to retain a higher temperature for a longer period of time and thereby reducing
the energy required to maintain the desired temperature of the water. We have received reports from our commercial customers documenting
energy savings of between $2,400 and $6,000 per year when using HEATSAVR&#174;.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
outdoor pools, the HEATSAVR&#174; also provides convenience compared to pool blankets. It is often inconvenient to use conventional pool
blankets since a pool blanket must be removed and stored before the pool can be used. Pool blankets do not provide any energy savings
when not on the pool. Conversely, HEATSAVR&#174; eliminates the need to install, remove and store the blanket and works 24 hours a day.
In addition, the use of HEATSAVR&#174; in an indoor pool results in even greater energy savings since indoor pool locations use energy
not only to heat the pool water, but also to air condition the pool environment. By slowing the transfer of heat and water vapor from
the pool to the atmosphere of the pool enclosure, less energy is required to maintain a pool at the desired temperature and there is
a reduced load on the air-conditioning system. We also manufacture and sell products which automatically dispense HEATSAVR&#174; into
commercial size swimming pools or spas at the rate of one ounce per 400 sq. ft. of water surface per day.</span></p>

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


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

<!-- Field: Page; Sequence: 4; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
product utilizes a patented variation of our HEATSAVR technology to reduce water evaporation in reservoirs, potable water storage tanks,
livestock watering ponds, aqueducts, canals and irrigation ditches. WATERSAVR may also be used for lawn and turf care and potted and
bedding plants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">WATERSAVR&#174;
is sold in granulated form and can be applied by hand, by fully automated scheduled metering, or by an automatic dispenser.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tests
have indicated that WATERSAVR&#174;:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reduces
    daily water evaporation as much as 54%;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reduces
    monthly water evaporation as much as 37%;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Is
    odorless;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Has
    no effect on invertebrates or vertebrates;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Has
    no anticipated effect on any current drinking water treatment processes; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Is
    biodegradable.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have one part-time employee involved in the sales and marketing of WATERSAVR&#174;.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below presents our revenue resulting from purchases by our major customers for the periods presented.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Company A</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">8,050,462</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,811,083</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company B</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">8,235,394</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">10,260,870</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Company C</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">4,493,455</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,410,845</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customers
with balances greater than 10% of our receivable balances as of each of the fiscal year ends presented are shown in the following table:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Company A</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">5,377,088</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">4,225,028</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company B</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,866,645</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,073,813</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Company D</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,189,157</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">670,920</td><td style="text-align: left">*</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*Less
than 10% in that period</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>TPAs:
</i>Our TPA products have direct competition with Lanxess AG (spun out of Bayer AG) (&#8220;Lanxess&#8221;), a German manufacturer of
TPAs, which uses a patented process different from ours. We have cross-licensed each other&#8217;s processes and either company can use
either process for the term of the patents involved. We believe that Lanxess has approximately the same production capacity and product
costs as we do. We believe that we can compete effectively with Lanxess by offering excellent customer service in oilfield sales, superior
distributor support in the agricultural marketplace and flexibility due to our relative size. In addition, we intend to continue to seek
market niches that are not the primary targets of Lanxess. There are other competitors based in Asia.</span></p>

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


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

<!-- Field: Page; Sequence: 5; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
TPA products face indirect competition from other chemicals in every market in which we are active. For purposes of oilfield scale prevention,
phosphonates, phosphates and molibdonates provide the same effect. For crop enhancement, increased fertilizer levels can serve as a substitute
for TPAs. In irrigation scale control, acid washes are our prime competitor. Notwithstanding the above, we believe our competitive advantages
include:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Biodegradability
    compared to competing oil field chemicals;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost-effectiveness
    for crop enhancement compared to increased fertilizer use; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Environmental
    considerations, ease of formulation and increased crop yield opportunities in irrigation scale markets.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>HEATSAVR&#174;:
</i>Although we are aware of two other companies that manufacture products that compete with HEATSAVR&#174;, we believe our products are
more effective and safer. We maintain fair pricing equal to or lower than our competitors and protect our intellectual property carefully.
Our products are expected to maintain market share in the competitive pool market. HEATSAVR&#174; also competes with plastic pool blanket
products. However, we believe that HEATSAVR&#174; is more effective and convenient than pool blankets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>WATERSAVR&#174;:
</i>WATERSAVR&#174; competes with solid and floating covers. We believe our WATERSAVR&#174; product is superior for the following reasons:
it is less expensive, requires little capital expenditure to deploy and can be started and stopped as water scarcity escalates or declines.
As water conservation is an important priority throughout the world, numerous researchers are working to develop solutions that may compete
with, or be superior to, WATERSAVR.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
56,780 sq. ft. facility in Peru, Illinois manufactures our TPA products. Raw materials for TPA production are sourced from various manufacturers
throughout the world and we believe they are available in sufficient quantities for any increase in sales. Raw materials are, however,
derived from crude oil and are subject to price fluctuations related to world oil prices.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
HEATSAVR&#174; products and dispensers are made from chemicals, plastics and other materials and parts that are readily available from
multiple suppliers. We have never experienced any shortage in the availability of raw materials and parts for these products and we do
not have any long term supply contracts for any of these items. We have these products made by outside parties without long term contracts.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
WATERSAVR&#174; products are manufactured by a third party. We are not required to purchase any minimum quantity of this product.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2020, ENP Investments, LLC acquired a 100% interest in ENP Realty, LLC and the 14,000 sq. ft. manufacturing facility in Mendota,
Illinois owned by this entity.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>TPAs:
</i>In the industrial oil field and agricultural markets, we have received government approval for all TPAs currently sold.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Nitrogen
Conservation Products: </i>We have obtained all government approvals for the markets in which we sell these products.</span></p>

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


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

<!-- Field: Page; Sequence: 6; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>HEATSAVR&#174;:
</i>Chemical products for use in swimming pools are covered by a variety of governmental regulations in all countries where we sell these
products. These regulations cover packaging, labeling, and product safety. We believe our products are in compliance with these regulations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>WATERSAVR&#174;:
</i>Our WATERSAVR&#174; product is subject to regulation in most countries, particularly for agricultural and drinking water uses. We
do not anticipate that governmental regulations will be an impediment to marketing WATERSAVR&#174; because the components in WATERSAVR&#174;
have historically been used in agriculture for many years for other purposes. Nevertheless, we may require county or state approval on
a case by case basis to sell WATERSAVR&#174; in the United States for agricultural and drinking water uses. We have received National
Sanitation Foundation approval for the use of WATERSAVR&#174; in drinking water in the United States.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
success is dependent, in part, upon our proprietary technology. We rely on a combination of patent, copyright, trademarks, trade secrets
and nondisclosure agreements to protect our proprietary technology. We hold several US patents with various expiry dates. We have applied
for additional patents in new areas of invention and may extend these patents, if granted to other jurisdictions. There can be no assurance
that our patent applications will be granted or that any issued patent will be upheld as valid or prevent the development of competitive
products, which may be equivalent to or superior to our products. We have not received any claims alleging infringement of the intellectual
property rights of others, but there can be no assurance that we may not be subject to such claims in the future.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
spent $329,952 during the year ended December 31, 2024 and $158,246 during year ended December 31, 2023 on research and development.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2024, we had 45 employees, including one officer, 17 sales and customer support personnel, and 27 manufacturing personnel.
None of our employees are represented by a labor union and we have not experienced any work stoppages to date.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    1A.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Risk
    Factors</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Form 10-K contains forward-looking information based on our current expectations. Because our actual results may differ materially from
any forward-looking statements made by us, this section includes a discussion of important factors that could affect our future operations
and result in a decline in the market price of our common stock.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
have in the past incurred significant operating losses and may not sustain profitability in the future.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have in the past experienced operating losses and negative cash flow from operations. If our revenues decline, our results of operations
and liquidity may be materially and adversely affected. If we experience slower than anticipated revenue growth or if our operating expenses
exceed our expectations, we may not be profitable. We may not remain profitable in future periods.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Fluctuations
in our operating results may cause our stock price to decline.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Given
the nature of the markets in which we operate, we cannot reliably predict future revenues and profitability. Changes in competitive,
market and economic conditions may cause us to adjust our operations. A high proportion of our costs are fixed, due in part to our sales,
research and development and manufacturing costs. Thus, small declines in revenue could disproportionately affect our operating results.
Factors that may affect our operating results and the market price of our common stock include:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Demand
    for and market acceptance of our products;</span></td></tr>
</table>

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


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

<!-- Field: Page; Sequence: 7; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Competitive
    pressures resulting in lower selling prices;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Adverse
    changes in the level of economic activity in regions in which we do business;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Adverse
    changes in the oil and gas industry on which we are particularly dependent;</span></td></tr>

<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
    in the portions of our revenue represented by various products and customers;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Delays
    or problems in the introduction of new products;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    announcement or introduction of new products, services or technological innovations by our competitors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Variations
    in our product mix;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    timing and amount of our expenditures in anticipation of future sales;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    costs of raw materials or supplies;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
                                            in the volume or timing of product orders; and</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Uncertainty
    in the tariff rates being charged.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
operations are subject to seasonal fluctuation.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
TPA business is the least seasonal, however there is a small increase in the spring related to inventory building for the crop season
in the United States and a small slowdown in December as oilfield customers run down stock in advance of year end, but otherwise, there
is little seasonal variation. We believe we are able to adequately respond to these seasonal fluctuations by reducing or increasing production
as needed. The foregoing is equally true of our nitrogen conservation products. The use of our swimming pool products increases in summer
months in most markets and results in our sales from January to June being greater than in July through December. Markets for our WATERSAVR&#174;
product are also seasonal, depending on the wet versus dry seasons in particular countries. We attempt to sell into a variety of countries
with different seasons on both sides of the equator in order to minimize seasonality.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Interruptions
in our ability to purchase raw materials and components may adversely affect our profitability.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
purchase certain raw materials and components from third parties pursuant to purchase orders placed from time to time. Because we do
not have guaranteed long-term supply arrangements with our suppliers, any material interruption in our ability to purchase necessary
raw materials or components could have a material adverse effect on our business, financial condition and results of operations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
WATERSAVR&#174; product has not proven to be a revenue producing product and we may never recoup the cost associated with its development.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
marketing efforts of our WATERSAVR&#174; product may result in continued losses. We introduced our WATERSAVR&#174; product in June 2002
and, to date, we have delivered quantities for testing by potential customers, but only a few customers have ordered the product for
commercial use. This product can achieve success only if it is ordered in substantial quantities by commercial customers who have determined
that the water saving benefits of the product exceed the costs of purchase and deployment of the product. We can offer no assurance that
we will receive sufficient orders of this product to achieve profits or cover the expenses incurred to manufacture and market this product.
We have received National Sanitation Foundation approval for the use of WATERSAVR&#174; in drinking water in the United States. Nevertheless,
we may require county or state approval on a case by case basis. We expect to spend $50,000 on the marketing and production of our WATERSAVR&#174;
product in fiscal 2025.</span></p>

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


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

<!-- Field: Page; Sequence: 8; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>If
we do not introduce new products in a timely manner, our products could become obsolete and our operating results would suffer.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Without
the timely introduction of new products and enhancements, our products could become obsolete over time, in which case our revenue and
operating results would suffer. The success of our new product offerings will depend upon several factors, including our ability to:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accurately
    anticipate customer needs;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Innovate
    and develop new products and applications;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Successfully
    commercialize new products in a timely manner;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Price
    our products competitively and manufacture and deliver our products in sufficient volumes and on time; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differentiate
    our products from our competitors&#8217; products.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
developing any new product, we may be required to make a substantial investment before we can determine the commercial viability of the
new product. If we fail to accurately foresee our customers&#8217; needs and future activities, we may invest heavily in research and
development of products that do not lead to significant revenues.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are dependent upon certain customers.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Among
our current customers, we have identified three that are sizable enough that the loss of any one would be significant. Any loss of one
or more of these customers could result in a substantial reduction in our revenues. See &#8220;Principal Customers&#8221; in Item 1 of
this report for further details.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Economic,
political and other risks associated with international sales and operations could adversely affect our sales.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenues
from shipments made outside of the United States accounted for approximately 24% of our revenues in the year ended December 31, 2024,
21% in the year ended December 31, 2023 and 20% in the year ended December 31, 2022. Since we sell our products worldwide, our business
is subject to risks associated with doing business internationally. We anticipate that revenues from international operations will continue
to represent a sizable portion of our total revenue. Accordingly, our future results could be harmed by a variety of factors, including:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
    in foreign currency exchange rates;</span></td></tr>

<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
    in a country&#8217;s or region&#8217;s political or economic conditions, particularly in developing or emerging markets;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Longer
    payment cycles of foreign customers and difficulty of collecting receivables in foreign jurisdictions;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
    protection measures and import or export licensing requirements;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differing
    tax laws and changes in those laws;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Difficulty
    in staffing and managing widespread operations;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differing
    laws regarding protection of intellectual property; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Differing
    regulatory requirements and changes in those requirements.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

<!-- Field: Page; Sequence: 9; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are subject to credit risk and may be subject to substantial write-offs if one or more of our significant customers default on their
payment obligations to us.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
currently allow our major customers between 30 and 90 days to pay for each sale. This practice, while customary, presents an accounts
receivable write-off risk if one or more of our significant customers defaulted on their payment obligations to us. Any such write-off,
if substantial, would have a material adverse effect on our business and results of operations. See above principal customer information.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
products can be hazardous if not handled, stored and used properly; litigation related to the handling, storage and safety of our products
would have a material adverse effect on our business and results of operations.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Some
of our products are flammable and must be stored properly to avoid fire risk. Additionally, some of our products may cause irritation
to a person&#8217;s eyes if they are exposed to the concentrated product. Although we label our products to warn of such risks, our sales
could be reduced if our products were considered dangerous to use or if they are implicated in causing personal injury or property damage.
We are not currently aware of any circumstances in which our products have caused harm or property damage to consumers. Nevertheless,
litigation regarding the handling, storage and safety of our products would have a material adverse effect on our business and results
of operations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
failure to comply with environmental regulations may create significant environmental liabilities and force us to modify our manufacturing
processes.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are subject to various federal, state and local environmental laws, ordinances and regulations relating to the use, storage, handling
and disposal of chemicals. Under such laws, we may become liable for the costs of removal or remediation of these substances that have
been used by our consumers or in our operations. Such laws may impose liability without regard to whether we knew of, or caused, the
release of such substances. Any failure by us to comply with present or future regulations could subject us to substantial fines, suspension
of production, alteration of manufacturing processes or cessation of operations, any of which could have a material adverse effect on
our business, financial condition and results of operations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
failure to protect our intellectual property could impair our competitive position.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">While
we own certain patents and trademarks, some aspects of our business cannot be protected by patents or trademarks. Accordingly, in these
areas there are few legal barriers that prevent potential competitors from copying certain of our products, processes and technologies
or from otherwise entering into operations in direct competition with us.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
products may infringe on the intellectual property rights of others, and resulting claims against us could be costly and prevent us from
making or selling certain products.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Third
parties may seek to claim that our products and operations infringe on their patent<b>s</b> or other intellectual property rights. We
may incur significant expense in any legal proceedings to protect our proprietary rights or to defend infringement claims by third parties.
In addition, claims of third parties against us could result in awards of substantial damages or court orders that could effectively
prevent us from making, using or selling our products in the United States or internationally.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>A
product liability claim for damages could materially and adversely affect our financial condition and results of operations.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
business exposes us to potential product liability risks. There are many factors beyond our control that could lead to liability claims,
including the failure of our products to work properly and the chance that consumers will use our products incorrectly or for purposes
for which they were not intended. There can be no assurance that the amount of product liability insurance that we carry will be sufficient
to protect us from product liability claims. A product liability claim in excess of the amount of insurance we carry could have a material
adverse effect on our business, financial condition and results of operations.</span></p>

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


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

<!-- Field: Page; Sequence: 10; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
ongoing success is dependent upon the continued availability of certain key employees.</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
business would be adversely affected if the services of Daniel B. O&#8217;Brien ceased to be available to us since we currently do not
have any other employee with an equivalent level of expertise in and knowledge of our industry. If Mr. O&#8217;Brien no longer served
as our President and Chief Executive Officer, we would have to recruit one or more new executives, with no real assurance that we would
be able to engage a replacement executive with the required skills on satisfactory terms. The market for skilled employees is highly
competitive, especially for employees in the fields in which we operate. While our compensation programs are intended to attract and
retain qualified employees, there can be no assurance that we will be able to retain the services of all our key employees or a sufficient
number to execute our plans, nor can there be any assurances that we will be able to continue to attract new employees as required.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    1B. </b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Unresolved
    Staff Comments.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    1C. </b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Cybersecurity.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_985_ecyd--CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock_iB_c20240101__20241231_gBFCRMPFAIAMT-OPBIW_zLej7QOEXNLh" class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" continuedAt="ConU000049-01" escape="true" id="Fact000049" name="cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Companies
such as ours face a variety of risks, including financial reporting, legal, credit, liquidity, operational, health, safety and cybersecurity
risks. The Board believes an effective risk management system will (1) identify the material risks that we face in a timely manner, (2)
communicate necessary information with respect to material risks to senior executives and, as appropriate, to our directors (3) implement
or oversee implementation of appropriate and responsive risk management and mitigation strategies consistent with our risk profile, and
(4) integrate risk management into our decision-making.</span></ix:nonNumeric></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_C00_gBFCRMPFAIAMT-OPBIW_zNpKC2z7zJbj"><ix:continuation continuedAt="ConU000049-02" id="ConU000049-01"><span id="xdx_90D_ecyd--CybersecurityRiskBoardOfDirectorsOversightTextBlock_c20240101__20241231_zcdwvvnSdkUe" class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000050" name="cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock">Our
Board oversees risk management after receiving briefings from advisors and also based on its own analysis and conclusions regarding the
adequacy of our risk management processes. The Board continuously evaluates and manages material risks including geopolitical and enterprise
risks, financial risks, environmental risks, health and safety risks and cybersecurity risks.</ix:nonNumeric></span></ix:continuation></span></span></p>

<div id="xdx_C0F_gBFCRMPFAIAMT-OPBIW_z3GYfz6fhMYf"><ix:continuation continuedAt="ConU000049-03" id="ConU000049-02"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_ecyd--CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag_dbT_c20240101__20241231_zVNNk2f1qQM3" class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleantrue" id="Fact000051" name="cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag">George
Murray, our Operations Manager, is responsible for assessing and managing cybersecurity risks.</ix:nonNumeric></span> Mr. Murray is experienced in assessing
and managing cybersecurity risks due to his direct oversight of our internet and digital communications contractors.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecyd--CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag_dbF_c20240101__20241231_zWQXzOtlkP15" class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt:booleanfalse" id="Fact000052" name="cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag">To
date we have not experienced any cybersecurity threats and any risks from cybersecurity threats have not materially affected, and are
not reasonably likely to materially affect, our business strategy, results of operations, or financial condition.</ix:nonNumeric></span></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    2.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Properties.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
own a 61,200 sq. ft. facility and a 56,780 sq. ft. facility in Peru, Illinois along with a 14,000 sq. ft facility in Mendota, Illinois
which is used to manufacture our TPA line of products. In 2017, we purchased a 3,000 sq ft building on 1 acre of land in Taber, Alberta.
In 2023, the Company purchased an 80% share in 317 Mendota, a real estate company that was set up to purchase a manufacturing building
in Mendota, IL. ENP Investments now occupies part of this space.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    3.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Legal
    Proceedings.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    4.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Mine
    Safety Disclosures.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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


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

<!-- Field: Page; Sequence: 11; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    5. </b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Market
    for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchase of Equity Securities.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
common stock is traded on the NYSE American under the symbol &#8220;FSI&#8221;.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 30, 2025, we had approximately 3,400 shareholders.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company declared a special dividend of $0.10 per share on April 23, 2024, paid on May 16, 2024 to shareholders of record on April 30,
2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company declared a special dividend of $0.05 per share on April 14, 2023, paid on May 16, 2023 to shareholders of record on April 28,
2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None
of our officers or directors, nor any of our principal shareholders purchased, on our behalf, any shares of our common stock from third
parties either in a private transaction or as a result of purchases in the open market during the years ended December 31, 2024 and 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 30, 2025, we had 12,647,532 outstanding shares of common stock. The following table lists additional shares of our common stock,
including shares issuable upon the exercise of options which have not yet vested, which may be issued as of March 30, 2025:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">Number</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">Note</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Of Shares</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Reference</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Shares issuable upon exercise of options granted to our officers, directors, employees,
    consultants, and third parties</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">1,708,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.
Options are exercisable at prices ranging from $2.00 to $4.05 per share. See Item 11 of this report for more information concerning these
options.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    6.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>[Reserved]</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    7.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Management&#8217;s
    Discussion and Analysis of Financial Condition and Results of Operations.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have three product lines.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
first is a chemical (&#8220;EWCP&#8221;) used in swimming pools and spas. The product forms a thin, transparent layer on the water&#8217;s
surface. The transparent layer slows the evaporation of water, allowing the water to retain a higher temperature for a longer period
of time thereby reducing the energy required to maintain the desired temperature of the water. A modified version of EWCP can also be
used in reservoirs, potable water storage tanks, livestock watering pods, canals, and irrigation ditches for the purpose of reducing
evaporation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
second product, biodegradable polymers (&#8220;TPAs&#8221;), is used by the petroleum, chemical, utility and mining industries to prevent
corrosion and scaling in water piping. TPAs can also be used to increase biodegradability in detergents and in the agriculture industry
to increase crop yields by enhancing fertilizer uptake.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

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


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

<!-- Field: Page; Sequence: 12; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also manufactures food grade products that are made and sold by the TPA division.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Material
changes in the line items in our Statement of Income and Comprehensive Income for the year ended December 31, 2024 as compared to the
same period last year, are discussed below:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 30%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 24%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase
    (I) or Decrease (D)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 42%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reason</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">EWCP
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
customer orders.</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TPA
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
    customer orders.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross
    profit</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Raw
    material costs declined to catch up with customer price reductions already in place.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Insurance</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Prior
    year increase in assets and in sales resulted in higher insurance costs.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    and Miscellaneous</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase
    in property tax associated with more properties along with various other one time costs.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consulting</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    reliance on consultants instead of full time employees.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Professional
    fees</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase
in accounting fees related to tax filings and increase in audit fees related to growth of the Company.</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">New
product development.</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Utilities</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Addition
of real estate not yet rented out.</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Investor
    relations</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reduced
shares traded and filings required in 2023 did not reoccur in 2024.</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange increased as a result of movements in the US / Canadian dollar exchange rate and its effects on US dollar cash balances
    and US dollar payables held by the Company&#8217;s Canadian subsidiaries. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Termination
    of lease in Naperville, IL reduced costs.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
    on lease termination</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">One
    time cost incurred terminating lease in Naperville, IL.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    income</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    interest rates combined with increase in term deposits. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gain
    on investment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sale
    of 30.1% of Florida based LLC reduced our Company&#8217;s portion of the profits.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
    on sale of investment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">One
time loss on the sale of 30.1 % of Florida based LLC.</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    debt resulted in increased interest expense.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Income tax expense</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">I</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="margin: 0">One time adjustments to income tax accruals in 2023 did not occur again in 2024.</p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<!-- Field: Page; Sequence: 13; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
factors that will most significantly affect future operating results will be:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    sale price of crude oil which is used in the manufacture of aspartic acid we import from China. Aspartic acid is a key ingredient
    in our TPA product. If tariffs increase and if relief is not available, some customers may experience price increases;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Activity
    in the oil and gas industry, as we sell our TPA product to oil and gas companies; and </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Drought
    conditions, since we also sell our TPA product to farmers.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than the foregoing we do not know of any trends, events or uncertainties that have had, or are reasonably expected to have, a material
impact on our revenues or expenses.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
sources and (uses) of cash for the years ended December 31, 2024 and 2023 are shown below:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Cash provided by operating activities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">5,568,346</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,116,171</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Sale of investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,000,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Purchase of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(470,000</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Redemption of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">200,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions received from equity investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">510,710</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">201,034</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Non-Controlling Interest of 317 Mendota LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">200,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds from sale of asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,411</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Purchases of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,964,736</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,990,675</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Advances (repayment) of line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">241,680</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,008,112</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Repayment of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,517,500</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(725,823</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,162,412</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,686,682</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,255,053</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(626,777</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions to non-controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(794,722</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(719,439</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Shares issued upon exercise of stock options</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">184,850</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,600</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Effects of foreign exchange rate changes on cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">188,160</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,653</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have sufficient cash resources to meets our future commitments and cash flow requirements for the coming year. As of December 31, 2024,
our working capital was $22,714,190 (2023 - $20,172,833) and we have no substantial commitments or capital requirements that require
significant outlays of cash over the coming fiscal year.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, we do not know of any trends, demands, commitments, events or uncertainties that will result in, or that are
reasonable likely to result in, our liquidity increasing or decreasing in any material way.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, we do not know of any significant changes in our expected sources and uses of cash.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not have any commitments or arrangements from any person to provide us with any equity capital.</span></p>

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


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

<!-- Field: Page; Sequence: 14; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Allowances
for Doubtful Accounts Receivable</i>. We evaluate our accounts receivable to determine if they will ultimately be collected. This evaluation
includes significant judgments and estimates, including an analysis of receivables aging and a review of large accounts. If, for example,
the financial condition of a customer deteriorates resulting in an impairment of its ability to pay or a pattern of late payment develops,
an allowance may be required.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Provisions
for Inventory Obsolescence</i>. We may need to record a provision for estimated obsolescence and shrinkage of inventory. Our estimates
consider the cost of inventory, the estimated market value, the shelf life of the inventory and our historical experience. If there are
changes to these estimates, provisions for inventory obsolescence may be necessary.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Valuation
of Goodwill and Intangible Assets.</i> We review goodwill and intangible assets to determine if there are qualitative factors which exist
which may indicate that the carrying value exceeds the fair value. Our estimates are based upon an assessment of market conditions and
expected future cash flows to be generated by the reporting units and related assets. If factors exist which indicate that the carrying
value exceeds the fair value, an impairment charge against the goodwill and intangible assets could be required.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Useful
Lives of Property, Equipment and Leaseholds and Intangible Assets.</i> We amortize and depreciate our property, equipment and leaseholds
and intangible assets based on their estimated useful lives. We estimate the expected useful lives based on the expected term over which
the asset is expected to continue to generate economic benefit for our company. If there are differences between the expected useful
lives and the actual useful lives of the asset, impairment of property, equipment and leaseholds or intangible assets could be necessary.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Revenue
Recognition. </i>We follow a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with
the customer, (2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4)
allocation of the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation
is satisfied. We fulfill our performance obligations when control of product transfers to the customer, which is generally at the time
the product is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free on board (F.O.B).
shipping point, we have elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Stock
Based Compensation</i> The fair value of share-based payments are subject to the limitations of the Black-Scholes option pricing model
that incorporates market data and involves uncertainty in estimates used by management in the assumptions. Since the Black-Scholes option pricing model relies on highly subjective assumptions, any changes to these inputs
can significantly impact the estimated value.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Income
Taxes </i>Tax interpretations, regulations and legislation in the various jurisdictions in which the Company operates are subject to
change and interpretation. As such, income taxes are subject to measurement uncertainty. Assessing the recoverability of deferred tax
assets requires the Company to make estimates related to the expectations of future taxable income and the application of existing tax
laws. To the extent that future taxable income differs significantly from estimates, the ability of the Company to realize deferred tax
assets could be impacted.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Privately
Held Equity Investments </i>The recoverability of privately held equity investments requires management to make certain assumptions and
estimates. Changes in these assumptions and estimates could result in materially different results.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Note 2 to the consolidated financial statements included as part of this report for a description of our significant accounting policies.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have evaluated recent accounting pronouncements issued since January 1, 2024 and determined that the adoption of these recent accounting
pronouncements will not have a material effect on our consolidated financial statements.</span></p>

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


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

<!-- Field: Page; Sequence: 15; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    7A.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Quantitative
    and Qualitative Disclosures About Market Risk.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    8.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Financial
    Statements and Supplementary Data.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>INDEX
TO CONSOLIDATED FINANCIAL STATEMENTS</b></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Page
    </b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#report_001">Report of Independent Registered Public Accounting Firm, Assure CPA, LLC</a> (PCAOB ID NO: <span id="xdx_901_edei--AuditorFirmId_c20240101__20241231_zqCS7S5EcVsi"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000053" name="dei:AuditorFirmId">444</ix:nonNumeric></span>)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-1</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#report_002">Report of Independent Registered Public Accounting Firm, Smythe LLP</a> (PCAOB ID NO: <span id="xdx_90B_edei--AuditorFirmId_c20230101__20231231_z1AlQViCZ4ja"><ix:nonNumeric contextRef="From2023-01-012023-12-31" id="Fact000054" name="dei:AuditorFirmId">995</ix:nonNumeric></span>)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-2</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="#a_001"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Balance Sheets as of December 31, 2024 and 2023</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-4</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="#a_003"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Statements of Income and Comprehensive Income for the Years Ended December 31, 2024 and 2023</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-5</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="#a_004"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Statements of Cash Flows for the Years Ended December 31, 2024 and 2023</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-6</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="#a_005"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December 31, 2024 and 2023</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-7</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="#a_006"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notes to Consolidated Financial Statements</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F-8</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<!-- Field: Page; Sequence: 16; Value: 2 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the shareholders and the board of directors of Flexible Solutions International Inc.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_edei--AuditorOpinionTextBlock_c20240101__20241231_zlAQ7ET7xAYh"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000055" name="dei:AuditorOpinionTextBlock">We
have audited the accompanying consolidated balance sheet of Flexible Solutions International Inc. (&#8220;the Company&#8221;) as of December
31, 2024 and the related consolidated statements of income and comprehensive income, stockholders&#8217; equity and cash flows for the
year then ended, and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion,
the consolidated financial statements present fairly, in all material respects, the financial position of the Company as of December
31, 2024 and the results of its operations and its cash flows for the year then ended, in conformity with accounting principles generally
accepted in the United States of America.</ix:nonNumeric></span></span></p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain
reasonable assurance about whether the consolidated 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 audit, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing
an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audit included performing procedures to assess the risks of material misstatement of the consolidated 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 consolidated financial statements. Our audit also included evaluating the accounting principles
used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements.
We believe that our audit provides a reasonable basis for our opinion.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that
was communicated or required to be communicated to the audit committee and that (i) relates to accounts or disclosures that are material
to the consolidated financial statements and (ii) involved our especially challenging, subjective, or complex judgments. The communication
of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are
not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or
disclosures to which it relates.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
described in Note 12 to the consolidated financial statements, the Company has an income taxes payable balance associated with uncertain
tax positions, including interest and penalties, of approximately $3.0 million as of December 31, 2024. The Company recognizes uncertain
tax positions that it believes has a greater than 50% likelihood of being sustained upon challenge by a tax authority. The evaluation
of this liability requires significant judgment and involves complex tax regulations, interpretations, and estimates. Given the complexity
and subjectivity of these considerations, auditing the uncertain tax position required a high degree of auditor judgment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Addressing
the matter involved performing procedures and evaluating audit evidence in connection with forming our overall opinion on the consolidated
financial statements. Our audit procedures related to the Company&#8217;s uncertain tax position included, among others:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"/><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluating
                                            management&#8217;s assessment of the technical merits of the tax position, including reviewing
                                            relevant tax laws.</span></td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"/><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assessing
                                            the adequacy of the Company&#8217;s disclosures regarding the uncertain tax position and
                                            its impact on the financial statements.</span></td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"/><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluating
                                            the reasonableness of management&#8217;s conclusions, including the probability of recognition
                                            and measurement of the liability.</span></td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"/><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Testing
                                            the completeness and accuracy of the underlying data used in management&#8217;s assessment.</span></td></tr></table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/<span id="xdx_903_edei--AuditorName_c20240101__20241231_zKq1ph5JSB9l"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000056" name="dei:AuditorName">Assure
CPA, LLC</ix:nonNumeric></span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have served as the Company&#8217;s auditor since 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_edei--AuditorLocation_c20240101__20241231_zPYZjmKv0t96"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000057" name="dei:AuditorLocation">Spokane,
Washington</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">PCAOB
ID: <span id="xdx_907_edei--AuditorFirmId_c20240101__20241231_zL4KP2RQhtwb"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact000058" name="dei:AuditorFirmId">444</ix:nonNumeric></span></span></p>

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

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

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

<!-- Field: Page; Sequence: 17; Options: NewSection; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span id="report_002"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Report
of Independent Registered Public Accounting Firm</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the Stockholders and the Board of Directors of Flexible Solutions International, Inc.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have audited the accompanying consolidated financial statements of Flexible Solutions International, Inc. and its subsidiaries (the &#8220;Company&#8221;)
which comprise the consolidated balance sheet as of December 31, 2023, and the related consolidated statement of income and comprehensive
income, cash flows and stockholders&#8217; equity for the year then ended, and the related notes (collectively referred to as the &#8220;consolidated
financial statements&#8221;).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
our opinion, the consolidated financial statements present fairly, in all material respects, the consolidated financial position of the
Company as of December 31, 2023, and the consolidated results of its operations and its consolidated cash flows for the year then ended,
in conformity with accounting principles generally accepted in the United States of America.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion
on the Company&#8217;s consolidated financial statements based on our audit. We are a public accounting firm registered with the Public
Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;) 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.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain
reasonable assurance about whether the consolidated 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 audit, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing
an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audit included performing procedures to assess the risks of material misstatement of the consolidated 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 consolidated financial statements. Our audit also included evaluating the accounting principles
used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements.
We believe that our audit provides a reasonable basis for our opinion.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: top; text-align: left">
  <td style="text-align: left; width: 25%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">SMYTHE
LLP <b>|</b> <b>smythecpa.com</b></span></td>
    <td style="width: 1%">&#160;</td>
  <td style="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>VANCOUVER</b></span></p>

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

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

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

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

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

</td>
  <td style="width: 1%">&#160;</td>
  <td style="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>LANGLEY</b></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Langley,
BC V2Y 4K5</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">T: 604 282 3600</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F:
604 357 1376</span></p>
</td>
  <td style="width: 1%">&#160;</td>
  <td style="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>NANAIMO</b></span></p>

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

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

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

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

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


<!-- Field: Page; Sequence: 18; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><img src="audit_001.jpg" alt=""/></b></span></p>

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

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

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
December 31, 2023, the Company&#8217;s inventory balance was $11,134,889. As discussed in Note 2 to the consolidated financial statements,
the Company records inventory at the lower of cost on a first-in, first-out or weighted average basis and net realizable value. To determine
inventory valuation, management conducts regular reviews of overhead costs and the calculation to allocate these expenditures to inventory
<span style="letter-spacing: -0.1pt">cost.</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
identified the assessment of valuation of inventory as a critical audit matter. Auditing management&#8217;s inventory valuation involved
significant judgment because the estimates are based on several factors. In particular, in estimating inventory cost inputs, management
developed assumptions such as the allocation of overhead expenditures to inventory cost.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
primary procedures we performed to address this critical audit matter <span style="letter-spacing: -0.1pt">included:</span></span></p>

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

<table cellpadding="0" cellspacing="0" border="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0pt; margin-bottom: 0pt">
<tr style="vertical-align: top">
    <td style="width: 0.25in">&#160;</td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Obtained an understanding and reviewed the appropriateness
of the Company&#8217;s costing of inventory, including the allocation of overhead costs to inventory.</span></td></tr>

<tr style="vertical-align: top">
    <td>&#160;</td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performed substantive procedures over the inputs of costing
of inventory, including overhead allocation by agreeing inputs to third party source documentation.</span></td></tr>

<tr style="vertical-align: top">
    <td>&#160;</td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tested management&#8217;s allocation of overhead costs between
inventory products by assessing the appropriateness of the allocation method and recalculated the formula used to determine computational
accuracy.</span></td></tr>

<tr style="vertical-align: top">
    <td>&#160;</td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tested the reliability of reports used by management in inventory
costing by agreeing the report inputs to underlying records.</span></td></tr>

<tr style="vertical-align: top">
    <td>&#160;</td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
  <td style="text-align: justify; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performed observations of inventory held at year-end for any
signs of obsolescence and held discussions with management and operational personnel to identify any slow-moving inventory.</span></td></tr>
</table>


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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90C_edei--AuditorLocation_c20230101__20231231_zsDr6Z6XnLWh"><ix:nonNumeric contextRef="From2023-01-012023-12-31" id="Fact000059" name="dei:AuditorLocation">Vancouver,
Canada</ix:nonNumeric></span></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
served as the Company&#8217;s auditor from 2019 to <span style="letter-spacing: -0.1pt">2024.</span></span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



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

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

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: top; text-align: left">
  <td style="text-align: left; width: 25%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_edei--AuditorName_c20230101__20231231_zL3jsQ1bDi9h"><ix:nonNumeric contextRef="From2023-01-012023-12-31" id="Fact000060" name="dei:AuditorName">SMYTHE
LLP</ix:nonNumeric></span> <b>|</b> <b>smythecpa.com</b></span></td>
    <td style="width: 1%">&#160;</td>
  <td style="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>VANCOUVER</b></span></p>

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

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

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

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

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

</td>
  <td style="width: 1%">&#160;</td>
  <td style="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>LANGLEY</b></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Langley,
BC V2Y 4K5</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">T: 604 282 3600</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F:
604 357 1376</span></p>
</td>
  <td style="width: 1%">&#160;</td>
  <td style="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>NANAIMO</b></span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F:
250 984 0886</span></p>
</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>


<!-- Field: Page; Sequence: 19; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_001"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

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

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

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

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

<table cellpadding="0" cellspacing="0" id="xdx_302_111_zhPlnFLOKlI8" summary="xdx: Statement - Consolidated Balance Sheets" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20241231_zRsFKr1U638e" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_498_20231231_zWcMVJ79XXG8" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AssetsAbstract_iB_zVJtDIM3Nzm7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrentAbstract_i01B_zjqL3E99VEq7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--Cash_i02I_maCzqht_zhTAmhIG0M1j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; padding-left: 10pt">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2024-12-31" id="Fact000068" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,631,055</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2023-12-31" id="Fact000069" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,017,583</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepositsAssetsCurrent_i02I_maCzqht_zmKTA41vEIr3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Term deposits (Note 2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsCurrent" contextRef="AsOf2024-12-31" id="Fact000071" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,400,916</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000072" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,690,241</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AccountsReceivableNetCurrent_i02I_maCzqht_zPVqkFQ6iXCb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Accounts receivable, net (Note 4)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-12-31" id="Fact000074" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,696,098</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31" id="Fact000075" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,843,056</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--InventoryNet_i02I_maCzqht_z9ROmOefaQY5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Inventories (Note 5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-12-31" id="Fact000077" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,890,195</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000078" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,134,889</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--PrepaidExpenseCurrent_i02I_maCzqht_zdSoKkJrOVY7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Prepaid expenses and deposits</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2024-12-31" id="Fact000080" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,957,593</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2023-12-31" id="Fact000081" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,540,923</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrent_i02TI_mtCzqht_maCzIMf_zOnU894J8n32" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2024-12-31" id="Fact000083" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,575,857</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000084" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,226,692</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maCzIMf_zzfMwl2AyqAk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Property, equipment and leaseholds, net (Note 6)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31" id="Fact000086" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,146,184</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000087" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,171,787</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_maCzIMf_zuuJmjEXgjNj" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Right of use assets (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0089">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000090" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,293</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_maCzIMf_zhxbeIuX68ba" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Intangible assets (Note 7)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2024-12-31" id="Fact000092" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,120,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000093" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,280,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DepositsAssetsNoncurrent_i01I_maCzIMf_zGR0FGl9AFJb" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Long term deposits (Note 8)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2024-12-31" id="Fact000095" format="ixt:numdotdecimal" decimals="0" unitRef="USD">167,882</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-12-31" id="Fact000096" format="ixt:numdotdecimal" decimals="0" unitRef="USD">824,254</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EquityMethodInvestments_i01I_maCzIMf_znW6lJDW4aHa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Investments (Note 9)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-12-31" id="Fact000098" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,424,381</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31" id="Fact000099" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,033,960</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Goodwill_i01I_maCzIMf_z03PcyZmR4m4" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Goodwill (Note 7)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2024-12-31" id="Fact000101" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="Fact000102" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_maCzIMf_zhhhUuxSIkBg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Deferred tax asset (Note 12)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0104">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2023-12-31" id="Fact000105" format="ixt:numdotdecimal" decimals="0" unitRef="USD">284,794</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--Assets_i01TI_mtCzIMf_zwnwZLamonNh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-12-31" id="Fact000107" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,968,579</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31" id="Fact000108" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_ztFriJ8Irk2h" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesCurrentAbstract_i01B_zSrDRKiwnrdf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AccountsPayableCurrent_i02I_maCzuqm_zJRKD0ZovZ0k" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-12-31" id="Fact000116" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,049,425</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000117" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,984,592</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AccruedLiabilitiesCurrent_i02I_maCzuqm_zr9cYIGzewB6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2024-12-31" id="Fact000119" format="ixt:numdotdecimal" decimals="0" unitRef="USD">403,157</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000120" format="ixt:numdotdecimal" decimals="0" unitRef="USD">284,131</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredRevenueCurrent_i02I_maCzuqm_zdN44711Ln3h" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Deferred revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2024-12-31" id="Fact000122" format="ixt:numdotdecimal" decimals="0" unitRef="USD">78,655</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2023-12-31" id="Fact000123" format="ixt:numdotdecimal" decimals="0" unitRef="USD">148,292</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--TaxesPayableCurrent_i02I_maCzuqm_zHvsUHp3h436" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2024-12-31" id="Fact000125" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,137,290</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000126" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,485,213</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LinesOfCreditCurrent_i02I_maCzuqm_zYTmqQ1907bh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Short term line of credit (Note 10)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-12-31" id="Fact000128" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,052,159</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-12-31" id="Fact000129" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,810,479</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebtCurrent_i02I_maCzuqm_z8EhZyAz7bL5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Current portion of lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0131">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2023-12-31" id="Fact000132" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,520</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_maCzuqm_zEbFPmqemTM1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Current portion of long term debt (Note 11)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-12-31" id="Fact000134" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,981</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000135" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,281,632</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LiabilitiesCurrent_i02TI_mtCzuqm_maCzpZk_zj3kvGMft911" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Total current liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-12-31" id="Fact000137" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,861,667</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000138" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,053,859</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maCzpZk_zEkv20KSaef6" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0140">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000141" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,773</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredIncomeTaxLiabilitiesNet_i01I_maCzpZk_zsE7nOJR7a34" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Net deferred income tax liability (Note 12)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2024-12-31" id="Fact000143" format="ixt:numdotdecimal" decimals="0" unitRef="USD">122,019</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2023-12-31" id="Fact000144" format="ixt:numdotdecimal" decimals="0" unitRef="USD">260,047</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebtNoncurrent_i01I_maCzpZk_zQZovxcmmrkk" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify; padding-bottom: 1pt">Long term debt (Note 11)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2024-12-31" id="Fact000146" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,618,867</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2023-12-31" id="Fact000147" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,833,304</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--Liabilities_i01TI_mtCzpZk_maCzLnb_zABkhJahZ1Ak" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total Liabilities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2024-12-31" id="Fact000149" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,602,553</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" id="Fact000150" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,202,983</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CommitmentsAndContingencies_i01I_zciW2r6S936c" style="vertical-align: bottom; background-color: White">
    <td>Commitments and Contingencies (Notes 9 and 10)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0152">-</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="display: none; font-family: Times New Roman, Times, Serif"><span style="-sec-ix-hidden: xdx2ixbrl0153">-</span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockholdersEquityAbstract_i01B_zK3OhWJFK0Ph" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Stockholders&#8217; Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Capital stock (Note 15)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Authorized: <span id="xdx_900_eus-gaap--CommonStockSharesAuthorized_iI_c20241231_zPMhow3BKlY3" title="Common stock, shares authorized"><span id="xdx_905_eus-gaap--CommonStockSharesAuthorized_iI_c20231231_zTI7I1ionoa5" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-12-31" id="Fact000158" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000160" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000,000</ix:nonFraction></ix:nonFraction></span></span> common shares with a par value of $<span id="xdx_90B_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20241231_zwEIaGIzvoY7" title="Common stock, par value"><span id="xdx_905_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20231231_zwgx8tJMSlQe" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2024-12-31" id="Fact000162" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000164" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> each; <span id="xdx_906_eus-gaap--PreferredStockSharesAuthorized_iI_c20241231_zt8Ej0FSFQZj" title="Preferred stock, shares authorized"><span id="xdx_90A_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231_zTXbNdyINtka" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2024-12-31" id="Fact000166" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000168" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></ix:nonFraction></span></span> preferred shares with a par value of $<span id="xdx_90A_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20241231_zHfUcdpyKW89" title="Preferred stock, par value"><span id="xdx_905_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20231231_z5cJHjQYRrV1" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-12-31" id="Fact000170" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000172" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.01</ix:nonFraction></ix:nonFraction></span></span> each</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Issued and outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt"><span id="xdx_905_eus-gaap--CommonStockSharesIssued_iI_c20241231_zJHHRm3KL856" title="Common stock, shares issued"><span id="xdx_90F_eus-gaap--CommonStockSharesOutstanding_iI_c20241231_z12AuSGu1I85" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-12-31" id="Fact000174" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-12-31" id="Fact000176" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,515,532</ix:nonFraction></ix:nonFraction></span></span> (December 31, 2023: <span id="xdx_90F_eus-gaap--CommonStockSharesIssued_iI_c20231231_z4YuPrEDvEbi" title="Common stock, shares issued"><span id="xdx_90D_eus-gaap--CommonStockSharesOutstanding_iI_c20231231_ztkl2BW1xwx3" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" id="Fact000178" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31" id="Fact000180" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></ix:nonFraction></span></span>) common shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,516</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,436</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CommonStockValue_i02I_maCzKRs_z1Hl0eOqswF3" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Common
    stock, value</span></td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2024-12-31" id="Fact000182" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,516</ix:nonFraction></td><td style="display: none; text-align: left">&#160;</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000183" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="display: none; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AdditionalPaidInCapital_i02I_maCzKRs_zCNkad6EyIjk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Capital in excess of par value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2024-12-31" id="Fact000185" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,789,915</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2023-12-31" id="Fact000186" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_i02I_maCzKRs_zwY1Xu1kBPhl" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Accumulated other comprehensive loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-12-31" id="Fact000188" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">606,986</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-12-31" id="Fact000189" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maCzKRs_zMUI30iy4XT9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Accumulated earnings</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-12-31" id="Fact000191" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,836,527</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" id="Fact000192" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockholdersEquity_i02TI_mtCzKRs_maCzAZ6_zO1YHbC3qDCf" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total stockholders&#8217; equity &#8211; controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31" id="Fact000194" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,031,972</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000195" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--MinorityInterest_i02I_maCzAZ6_zvr4REvpnS29" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Non-controlling interests (Note 16)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2024-12-31" id="Fact000197" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,334,054</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31" id="Fact000198" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_i02TI_mtCzAZ6_maCzLnb_zVFcDJN5j4mj" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total Stockholders&#8217; Equity</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31" id="Fact000200" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,366,026</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000201" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_mtCzLnb_zfTrfArfqlIh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Liabilities and Stockholders&#8217; Equity</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-12-31" id="Fact000203" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,968,579</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000204" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

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

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

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

<!-- Field: Page; Sequence: 20; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_003"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the Years Ended December 31</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

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

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

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

<table cellpadding="0" cellspacing="0" id="xdx_307_113_zg8Ht2g86nei" summary="xdx: Statement - Consolidated Statements of Income and Comprehensive Income" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20240101__20241231_z207XYiu04Xj" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20230101__20231231_zFDuqmnOVpA5" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maCzHmb_zra7mkMV1QBh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; font-weight: bold">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-12-31" id="Fact000206" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,234,860</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31" id="Fact000207" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,324,806</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--CostOfGoodsAndServicesSold_msCzHmb_zryLIzoGAoR6" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Cost of sales (Note 6 &amp; 7)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-01to2024-12-31" id="Fact000209" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,994,961</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-12-31" id="Fact000210" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,881,721</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--GrossProfit_iT_mtCzHmb_maCzKrN_zx2NBDldPpWj" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Gross profit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-01to2024-12-31" id="Fact000212" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,239,899</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-012023-12-31" id="Fact000213" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,443,085</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingExpensesAbstract_iB_zITBGDnLrb4f" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--SalariesAndWages_i01_maCza8m_zU4b0iv8Oi6a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Wages</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2024-01-01to2024-12-31" id="Fact000218" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,504,523</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2023-01-012023-12-31" id="Fact000219" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,659,654</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OfficersCompensation_i01_maCza8m_zVfYmQFRtNOe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Administrative salaries and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2024-01-01to2024-12-31" id="Fact000221" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,238,702</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2023-01-012023-12-31" id="Fact000222" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,205,007</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--GeneralInsuranceExpense_i01_maCza8m_zwJ1vzhPumn1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Insurance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000224" format="ixt:numdotdecimal" decimals="0" unitRef="USD">958,109</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2023-01-012023-12-31" id="Fact000225" format="ixt:numdotdecimal" decimals="0" unitRef="USD">861,501</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OtherGeneralExpense_i01_maCza8m_zKMfrLJwcWml" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Office and miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000227" format="ixt:numdotdecimal" decimals="0" unitRef="USD">805,307</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-012023-12-31" id="Fact000228" format="ixt:numdotdecimal" decimals="0" unitRef="USD">512,896</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--Consulting_i01_maCza8m_zmWEvjC5L0Bc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Consulting</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2024-01-01to2024-12-31" id="Fact000230" format="ixt:numdotdecimal" decimals="0" unitRef="USD">473,925</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2023-01-012023-12-31" id="Fact000231" format="ixt:numdotdecimal" decimals="0" unitRef="USD">324,327</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ResearchAndDevelopmentExpense_i01_maCza8m_zAeHQCU1nnwh" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Research</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000233" format="ixt:numdotdecimal" decimals="0" unitRef="USD">329,952</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-012023-12-31" id="Fact000234" format="ixt:numdotdecimal" decimals="0" unitRef="USD">158,246</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ProfessionalFees_i01_maCza8m_zNmrCG3Rtsr8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2024-01-01to2024-12-31" id="Fact000236" format="ixt:numdotdecimal" decimals="0" unitRef="USD">324,462</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2023-01-012023-12-31" id="Fact000237" format="ixt:numdotdecimal" decimals="0" unitRef="USD">238,466</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--UtilitiesOperatingExpense_i01_maCza8m_zGECNwhVeJCi" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Utilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000239" format="ixt:numdotdecimal" decimals="0" unitRef="USD">259,972</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2023-01-012023-12-31" id="Fact000240" format="ixt:numdotdecimal" decimals="0" unitRef="USD">123,475</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--TravelAndEntertainmentExpense_i01_maCza8m_z89gObl64fvc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Travel</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000242" format="ixt:numdotdecimal" decimals="0" unitRef="USD">227,837</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2023-01-012023-12-31" id="Fact000243" format="ixt:numdotdecimal" decimals="0" unitRef="USD">264,563</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--SellingAndMarketingExpense_i01_maCza8m_zq1TPqNpQeG7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Advertising and promotion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000245" format="ixt:numdotdecimal" decimals="0" unitRef="USD">218,269</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2023-01-012023-12-31" id="Fact000246" format="ixt:numdotdecimal" decimals="0" unitRef="USD">194,308</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestorRelationsAndTransferAgentFee_i01_maCza8m_zLKZRRTPeVh8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Investor relations and transfer agent fee</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2024-01-01to2024-12-31" id="Fact000248" format="ixt:numdotdecimal" decimals="0" unitRef="USD">199,863</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2023-01-012023-12-31" id="Fact000249" format="ixt:numdotdecimal" decimals="0" unitRef="USD">222,650</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseExpense_i01_maCza8m_z9XLrLUCkgw5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Lease expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000251" format="ixt:numdotdecimal" decimals="0" unitRef="USD">72,891</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2023-01-012023-12-31" id="Fact000252" format="ixt:numdotdecimal" decimals="0" unitRef="USD">97,806</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CommunicationsAndInformationTechnology_i01_maCza8m_zvisywImFpT9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Telecommunications</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2024-01-01to2024-12-31" id="Fact000254" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,970</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2023-01-012023-12-31" id="Fact000255" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,093</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ShippingCost_i01_maCza8m_zbYqJhRUAwJa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Shipping</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2024-01-01to2024-12-31" id="Fact000257" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,408</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2023-01-012023-12-31" id="Fact000258" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,060</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--Commissions_i01_maCza8m_zGGxcq4GcQqg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Commissions" contextRef="From2024-01-01to2024-12-31" id="Fact000260" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,093</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Commissions" contextRef="From2023-01-012023-12-31" id="Fact000261" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,623</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ForeignCurrencyTransactionGainLossBeforeTax_i01N_di_msCza8m_zOYNwYjSNYnj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Currency exchange</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2024-01-01to2024-12-31" id="Fact000263" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,790</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2023-01-012023-12-31" id="Fact000264" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,632</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingExpenses_i01T_mtCza8m_msCzKrN_z0lN0GXTxsa1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Total operating expenses</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2024-01-01to2024-12-31" id="Fact000266" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,724,493</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2023-01-012023-12-31" id="Fact000267" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,940,043</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingIncomeLoss_iT_mtCzKrN_maILFCOzt1n_zEgvHROmt9Ph" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31" id="Fact000269" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,515,406</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-012023-12-31" id="Fact000270" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,503,042</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--NonoperatingIncomeExpenseAbstract_iB_zvcWLqmFTnv4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Non-operating income (expense)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--GainLossOnInvestments_i01_maNIEzMVy_zsTy9Vd4Ejq7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Gain on investments (Note 9)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2024-01-01to2024-12-31" id="Fact000275" format="ixt:numdotdecimal" decimals="0" unitRef="USD">245,631</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-012023-12-31" id="Fact000276" format="ixt:numdotdecimal" decimals="0" unitRef="USD">505,065</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--GainLossOnSaleOfInvestments_i01_maNIEzMVy_zSGOVwPXGCE4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Loss on sale of investment (Note 9)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2024-01-01to2024-12-31" id="Fact000278" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">353,076</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0279">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--LeaseTerminationFee_i01N_di_msNIEzMVy_zqyB4T1VSE06" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Loss on lease termination</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:LeaseTerminationFee" contextRef="From2024-01-01to2024-12-31" id="Fact000281" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,350</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0282">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--InterestExpenseOther_i01N_di_msNIEzMVy_zypiLXprYKac" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:InterestExpenseOther" contextRef="From2024-01-01to2024-12-31" id="Fact000284" format="ixt:numdotdecimal" decimals="0" unitRef="USD">610,265</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:InterestExpenseOther" contextRef="From2023-01-012023-12-31" id="Fact000285" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,666</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--InterestIncomeOther_i01_maNIEzMVy_zwl6fYQZs5r9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Interest income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2024-01-01to2024-12-31" id="Fact000287" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,454</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2023-01-012023-12-31" id="Fact000288" format="ixt:numdotdecimal" decimals="0" unitRef="USD">113,809</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--NonoperatingIncomeExpense_i01T_mtNIEzMVy_maILFCOzt1n_z6hsOjVXj9pf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; font-weight: bold; text-align: left; padding-bottom: 1pt">Total non-operating income (expenses)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000290" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">562,606</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2023-01-012023-12-31" id="Fact000291" format="ixt:numdotdecimal" decimals="0" unitRef="USD">120,208</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtILFCOzt1n_maPLz9mf_z8FbONIsm9D" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Income before income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" id="Fact000293" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,952,800</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-012023-12-31" id="Fact000294" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,623,250</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredIncomeTaxesAndTaxCreditsAbstract_iB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Income taxes (Note 12)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_i01N_di_msPLz9mf_z0TozgcOcDJf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Deferred income tax (expense) benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact000299" format="ixt:numdotdecimal" decimals="0" unitRef="USD">146,767</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact000300" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">250,917</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CurrentIncomeTaxExpenseBenefit_i01N_di_msPLz9mf_zOj44keWEQ3g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Current income tax expense</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact000302" format="ixt:numdotdecimal" decimals="0" unitRef="USD">704,444</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact000303" format="ixt:numdotdecimal" decimals="0" unitRef="USD">118,182</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--ProfitLoss_iT_maNILzXB2_mtPLz9mf_zCny8hwCua3k" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Net income for the year</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31" id="Fact000305" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,101,589</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31" id="Fact000306" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_iN_di_msNILzXB2_zogcCsP2a8Yk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Net income attributable to non-controlling interests</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" id="Fact000308" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,063,060</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-12-31" id="Fact000309" format="ixt:numdotdecimal" decimals="0" unitRef="USD">980,121</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--NetIncomeLoss_iT_mtNILzXB2_zp3DNfdmuaJe" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Net income attributable to controlling interest</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31" id="Fact000311" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,038,529</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31" id="Fact000312" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Income per share (basic and diluted) (Note 13)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_90B_eus-gaap--EarningsPerShareBasic_c20240101__20241231_zVDPiBgljRxl" title="Income per share (basic)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgSW5jb21lIGFuZCBDb21wcmVoZW5zaXZlIEluY29tZQA_"><span id="xdx_909_eus-gaap--EarningsPerShareDiluted_c20240101__20241231_z1eS1yWwMg68" title="Income per share (diluted)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgSW5jb21lIGFuZCBDb21wcmVoZW5zaXZlIEluY29tZQA_"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-01-01to2024-12-31" id="Fact000314" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-01to2024-12-31" id="Fact000316" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.24</ix:nonFraction></ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_901_eus-gaap--EarningsPerShareBasic_c20230101__20231231_z2yDc1X5MS1h" title="Income per share (basic)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgSW5jb21lIGFuZCBDb21wcmVoZW5zaXZlIEluY29tZQA_"><span id="xdx_903_eus-gaap--EarningsPerShareDiluted_c20230101__20231231_zvhIPEgcG57h" title="Income per share (diluted)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgSW5jb21lIGFuZCBDb21wcmVoZW5zaXZlIEluY29tZQA_"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-12-31" id="Fact000318" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-012023-12-31" id="Fact000320" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.22</ix:nonFraction></ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zdqv55YdJcte" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Weighted average number of common shares (basic)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-01-01to2024-12-31" id="Fact000322" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,454,957</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-12-31" id="Fact000323" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,434,886</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zJGD6HTkUGjf" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Weighted average number of common shares (diluted)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-01to2024-12-31" id="Fact000325" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,680,668</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-012023-12-31" id="Fact000326" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,489,467</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_iB_zExlT0IDoKbi" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Other comprehensive income:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ProfitLoss_i01_maCz4y9_zp1HFLbYC0Fj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31" id="Fact000331" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,101,589</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31" id="Fact000332" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_i01_maCz4y9_z7w0PpY348h4" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Unrealized gain (loss) on foreign currency transactions</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2024-01-01to2024-12-31" id="Fact000334" format="ixt:numdotdecimal" decimals="0" unitRef="USD">188,160</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-01-012023-12-31" id="Fact000335" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_i01T_mtCz4y9_maCzqMP_znA71aUv7By6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Total comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" id="Fact000337" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,289,749</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-12-31" id="Fact000338" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,766,638</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_i01N_pp0p0_di_msCzqMP_zg1HWTIi3g28" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Comprehensive income &#8211; non-controlling interest</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" id="Fact000340" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,063,060</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-12-31" id="Fact000341" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">980,121</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--ComprehensiveIncomeNetOfTax_i01T_mtCzqMP_zrgoEPQx9Kdb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Comprehensive income attributable to controlling interest</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2024-01-01to2024-12-31" id="Fact000343" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,226,689</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2023-01-012023-12-31" id="Fact000344" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,786,517</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

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

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

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

<!-- Field: Page; Sequence: 21; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_004"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
Years Ended December 31</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

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

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

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

<table cellpadding="0" cellspacing="0" id="xdx_301_112_z28WHRPzIau7" summary="xdx: Statement - Consolidated Statements of Cash Flows" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240101__20241231_z7Q0wr6lJSQh" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20231231_zJH9eqjgfBX2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_z4ogn4EN6vRj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Operating activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--ProfitLoss_i01_maNCPBUzQz6_zJjdr2ZGq1k5" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left; padding-left: 10pt">Net income for the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31" id="Fact000349" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,101,589</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31" id="Fact000350" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zSNHmRCj8gRf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Adjustments to reconcile net income to net cash:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShareBasedCompensation_i02_maNCPBUzQz6_z1DVlzfuCWik" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 20pt">Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-01to2024-12-31" id="Fact000355" format="ixt:numdotdecimal" decimals="0" unitRef="USD">673,130</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-012023-12-31" id="Fact000356" format="ixt:numdotdecimal" decimals="0" unitRef="USD">395,080</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationAndAmortization_i02_maNCPBUzQz6_zKKS11VJQQw4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-01to2024-12-31" id="Fact000358" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,957,476</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-012023-12-31" id="Fact000359" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,686,319</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--GainLossOnInvestments_i02N_pp0p0_di_msNCPBUzQz6_zYFEKw2S8fU2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 20pt">Gain on investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2024-01-01to2024-12-31" id="Fact000361" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">245,631</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-012023-12-31" id="Fact000362" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">505,065</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--GainLossOnSaleOfInvestments_i02N_pp0p0_di_msNCPBUzQz6_zxzLx6WX8WW9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Loss on sale of investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2024-01-01to2024-12-31" id="Fact000364" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">353,076</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0365">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--GainLossOnSaleOfPropertyPlantEquipment_i02N_di_msNCPBUzQz6_zxYVsdtrFFgl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 20pt">Gain on sale of asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0367">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="From2023-01-012023-12-31" id="Fact000368" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,589</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredIncomeTaxExpenseBenefit_i02_pp0p0_maNCPBUzQz6_z2LOmcnmus9e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Deferred income tax expense (recovery)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact000370" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">146,767</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact000371" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">250,917</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_z4igMq3kdrMa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Changes in assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_pp0p0_di_msNCPBUzQz6_za7LRPkfYepl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2024-01-01to2024-12-31" id="Fact000376" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,853,042</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-01-012023-12-31" id="Fact000377" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">393,199</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInInventories_i03N_pp0p0_di_msNCPBUzQz6_zfnc0njF8Off" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2024-01-01to2024-12-31" id="Fact000379" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">244,694</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-012023-12-31" id="Fact000380" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">3,284,541</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInPrepaidExpense_i03N_pp0p0_di_msNCPBUzQz6_z9OvQGQmtN1f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Prepaid expenses and deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000382" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">416,670</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2023-01-012023-12-31" id="Fact000383" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,230,626</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--IncreaseDecreaseInDepositOtherAssets_i03N_pp0p0_di_msNCPBUzQz6_zVJnrtICcn98" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 20pt">Long term deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInDepositOtherAssets" contextRef="From2024-01-01to2024-12-31" id="Fact000385" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">159,342</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInDepositOtherAssets" contextRef="From2023-01-012023-12-31" id="Fact000386" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">815,714</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--IncreaseDecreaseInAccountsPayable_i03_maNCPBUzQz6_zgWlXC2ncR4d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2024-01-01to2024-12-31" id="Fact000388" format="ixt:numdotdecimal" decimals="0" unitRef="USD">64,833</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2023-01-012023-12-31" id="Fact000389" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,110,689</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IncreaseDecreaseInAccruedLiabilities_i03_maNCPBUzQz6_z93sAgW2Myqi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 20pt">Accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2024-01-01to2024-12-31" id="Fact000391" format="ixt:numdotdecimal" decimals="0" unitRef="USD">119,026</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="margin: 0">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2023-01-012023-12-31" id="Fact000392" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">675,725</ix:nonFraction></p></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_pp0p0_maNCPBUzQz6_zxVswUTbTDP9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2024-01-01to2024-12-31" id="Fact000394" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">652,077</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-01-012023-12-31" id="Fact000395" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">1,137</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_pp0p0_maNCPBUzQz6_zJpgT8iKZKtc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 20pt">Deferred revenue</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2024-01-01to2024-12-31" id="Fact000397" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">69,637</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-012023-12-31" id="Fact000398" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">239,471</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_mtNCPBUzQz6_maCCERCzXEt_zlYEDeOJMC7g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Cash provided by operating activities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-01to2024-12-31" id="Fact000400" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,568,346</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-012023-12-31" id="Fact000401" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,116,171</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_z5xnoK16bpC7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ProceedsFromSaleOfLandHeldForUse_i01_maNCPBUzAuN_zsAUOIaPmuk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Sale of investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfLandHeldForUse" contextRef="From2024-01-01to2024-12-31" id="Fact000406" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,000,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0407">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--ProceedsFromSaleOfEquityMethodInvestments_i01_maNCPBUzAuN_zr1hKqzXzgp3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Distributions received from equity investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2024-01-01to2024-12-31" id="Fact000409" format="ixt:numdotdecimal" decimals="0" unitRef="USD">510,710</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2023-01-012023-12-31" id="Fact000410" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201,034</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ProceedsFromSaleOfProductiveAssets_i01_pp0p0_maNCPBUzAuN_zOoCaSkBGlEi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Proceeds from sale of asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0412">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfProductiveAssets" contextRef="From2023-01-012023-12-31" id="Fact000413" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,411</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_pp0p0_di_msNCPBUzAuN_zwZD7GoYeVXd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Purchase of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-01to2024-12-31" id="Fact000415" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,964,736</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31" id="Fact000416" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,990,675</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--PaymentsToAcquireInvestments_i01N_di_msNCPBUzAuN_zQti4iNLeyL3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Purchase of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0418">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2023-01-012023-12-31" id="Fact000419" format="ixt:numdotdecimal" decimals="0" unitRef="USD">470,000</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--ProceedsFromRedemptionOfInvestments_i01_maNCPBUzAuN_zwAw2ZThepda" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Redemption of investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0421">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ProceedsFromRedemptionOfInvestments" contextRef="From2023-01-012023-12-31" id="Fact000422" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ProceedsFromNoncontrollingInterestOfMendota_i01_pp0p0_maNCPBUzAuN_znAWuzkBvsql" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Non-controlling interest of 317 Mendota</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0424">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="FSI:ProceedsFromNoncontrollingInterestOfMendota" contextRef="From2023-01-012023-12-31" id="Fact000425" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">200,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_maCCERCzXEt_mtNCPBUzAuN_zL1Jm0tmsFqf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Cash used in investing activities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2024-01-01to2024-12-31" id="Fact000427" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,454,026</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-012023-12-31" id="Fact000428" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,854,230</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zlvGB9ZPI5lg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Financing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ProceedsFromRepaymentsOfLinesOfCredit_i01_maNCPBUzffo_zlbZiAteBtNd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Advance (repayment) of line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" contextRef="From2024-01-01to2024-12-31" id="Fact000433" format="ixt:numdotdecimal" decimals="0" unitRef="USD">241,680</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" contextRef="From2023-01-012023-12-31" id="Fact000434" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,008,112</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--RepaymentsOfLongTermDebt_i01N_di_msNCPBUzffo_zBwYAuun6yV5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Repayment of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2024-01-01to2024-12-31" id="Fact000436" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,517,500</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2023-01-012023-12-31" id="Fact000437" format="ixt:numdotdecimal" decimals="0" unitRef="USD">725,823</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--ProceedsFromIssuanceOfLongTermDebt_i01_maNCPBUzffo_z6CRDYVRVCS6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Proceeds of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2024-01-01to2024-12-31" id="Fact000439" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,162,412</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2023-01-012023-12-31" id="Fact000440" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,686,682</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PaymentsOfDividends_i01N_di_msNCPBUzffo_zI7oIQ4IFLTd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 10pt">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2024-01-01to2024-12-31" id="Fact000442" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,053</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="From2023-01-012023-12-31" id="Fact000443" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--PaymentsToMinorityShareholders_i01N_di_msNCPBUzffo_zsVwOTONWFJ9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 10pt">Distribution to non-controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2024-01-01to2024-12-31" id="Fact000445" format="ixt:numdotdecimal" decimals="0" unitRef="USD">794,722</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2023-01-012023-12-31" id="Fact000446" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--ProceedsFromIssuanceOfCommonStock_i01_maNCPBUzffo_zFQvMDmDGzo7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; padding-left: 10pt">Shares issued upon exercise of stock options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2024-01-01to2024-12-31" id="Fact000448" format="ixt:numdotdecimal" decimals="0" unitRef="USD">184,850</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2023-01-012023-12-31" id="Fact000449" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_maCCERCzXEt_mtNCPBUzffo_z7uwt5M20GR2" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Cash provided by (used in) financing activities</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2024-01-01to2024-12-31" id="Fact000451" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">978,333</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-012023-12-31" id="Fact000452" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">379,869</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_maCCERCzXEt_zESuhmXMTmY5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Effect of foreign exchange rate changes on cash</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2024-01-01to2024-12-31" id="Fact000454" format="ixt:numdotdecimal" decimals="0" unitRef="USD">188,160</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2023-01-012023-12-31" id="Fact000455" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCCERCzXEt_zHEHnSVgW0Z7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Increase in cash and term deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2024-01-01to2024-12-31" id="Fact000457" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,324,147</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-01-012023-12-31" id="Fact000458" format="ixt:numdotdecimal" decimals="0" unitRef="USD">892,725</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_pp0p0_zJ0rwpcZL3ej" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Cash and term deposits, beginning of year</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000460" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,707,824</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" id="Fact000461" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,815,099</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_pp0p0_zjiEUhDDIp4j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Cash and term deposits, end of year</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2024-12-31" id="Fact000463" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,031,971</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000464" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,707,824</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Cash and term deposits is comprised of:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i01E_z2mzbseryb7b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Cash</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-12-31" id="Fact000469" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,631,055</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31" id="Fact000470" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,017,583</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--ShortTermInvestments_i01E_zpTYjEoSEmj9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Term deposits</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2024-12-31" id="Fact000472" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,400,916</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-12-31" id="Fact000473" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,690,241</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_i01E_zin2JHdRogJ7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash and cash equivalents, ending</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2024-12-31" id="Fact000475" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,031,971</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000476" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,707,824</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--SupplementalCashFlowInformationAbstract_iB_zqvvttMh2k4j" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Supplemental disclosure of cash flow information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--IncomeTaxesPaidNet_i01_zxnLUXMZG52h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income taxes paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2024-01-01to2024-12-31" id="Fact000481" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,367</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-012023-12-31" id="Fact000482" format="ixt:numdotdecimal" decimals="0" unitRef="USD">119,319</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InterestPaidNet_i01_zLAlKbQ1pUm7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Interest paid</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2024-01-01to2024-12-31" id="Fact000484" format="ixt:numdotdecimal" decimals="0" unitRef="USD">610,625</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-01-012023-12-31" id="Fact000485" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,666</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

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

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

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

<!-- Field: Page; Sequence: 22; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_005"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Consolidated
Statements of Stockholders&#8217; Equity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the Years Ended December 31, 2024 and 2023</b></span></p>

<p style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_302_114_zhESjpwZdnjh" summary="xdx: Statement - Consolidated Statements of Stockholders' Equity" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" style="display: none">&#160;</td><td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" id="xdx_4B8_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zAzgAiwoELya" style="display: none">&#160;</td><td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_custom--CapitalInExcessOfParValueMember_zJUJKrVFoa65" style="display: none">&#160;</td><td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" id="xdx_4B2_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zkNWifj1PYje" style="display: none">&#160;</td><td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_us-gaap--AccumulatedOtherComprehensiveIncomeMember_ziNTnKqccYzh" style="display: none">&#160;</td><td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" id="xdx_4BA_us-gaap--StatementEquityComponentsAxis_us-gaap--ParentMember_zoFDlT76Uczg" style="display: none">&#160;</td><td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--NoncontrollingInterestMember_z6wsQvl6UCU2" style="display: none">&#160;</td><td style="display: none">&#160;</td><td style="display: none">&#160;</td>
    <td colspan="2" id="xdx_4BA_zhqkA06imEu3" style="display: none">&#160;</td><td style="display: none">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Shares</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Capital Stock</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Capital
                                            in</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Excess
                                            of</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Par
                                            Value</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Accumulated</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Earnings</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Accumulated
                                            Other</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Comprehensive</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Income
                                            (Loss)</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Non-</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Controlling</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Interests</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stockholders&#8217;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Equity</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_433_c20230101__20231231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zWsFTUTjAyJc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%; font-weight: bold">Balance December 31, 2022</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharesOutstanding_iS_pid_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zqLCizkaZfi3" title="Balance, shares" style="width: 5%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000495" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,426,260</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 5%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000487" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 5%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000488" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,523,345</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 5%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" id="Fact000489" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,903,964</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 5%; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000490" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">805,799</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">)</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 5%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_ParentMember" id="Fact000491" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,633,936</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 5%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000492" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 5%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" id="Fact000493" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,238,970</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zxLUl96Rw9E2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Translation adjustment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0497">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0498">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0499">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000500" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000501" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0502">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-12-31" id="Fact000503" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,653</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--Dividends_iN_di_zN3PGw4nEcuf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0505">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0506">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="Fact000507" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0508">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000509" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0510">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31" id="Fact000511" format="ixt:numdotdecimal" decimals="0" unitRef="USD">626,777</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_zk276sQfpXIh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Non-controlling interest of 317 Mendota LLC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0513">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0514">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0515">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0516">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0517">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000518" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" contextRef="From2023-01-012023-12-31" id="Fact000519" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_z8VJUAZGxFpa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0521">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0522">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember" id="Fact000523" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0524">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000525" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000526" format="ixt:numdotdecimal" decimals="0" unitRef="USD">980,121</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-12-31" id="Fact000527" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,755,985</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zkGcRQxRbnY1" style="vertical-align: bottom; background-color: White">
    <td>Shares issued upon exercise of stock options</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z6ilMaNxdXuc" title="Shares issued upon exercise of stock options, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000537" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,272</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember" id="Fact000529" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000530" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,590</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0531">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0532">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000533" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0534">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2023-01-012023-12-31" id="Fact000535" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_zip7pTglZDGc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions to noncontrolling interests</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0539">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0540">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0541">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0542">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0543">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000544" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31" id="Fact000545" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_zza63IB2HxZh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Stock-based compensation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0547">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000548" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">395,080</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0549">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0550">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31_us-gaap_ParentMember" id="Fact000551" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">395,080</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0552">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-12-31" id="Fact000553" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">395,080</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_438_c20240101__20241231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zcHw78x4Hvm1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Balance December 31, 2023</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--SharesOutstanding_iS_pid_c20240101__20241231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zeVu7ov2osze" title="Balance, shares" style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000563" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000555" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000556" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000557" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000558" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_ParentMember" id="Fact000559" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000560" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000561" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_43E_c20240101__20241231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zHuNsR1qclPa" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; font-weight: bold">Balance</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--SharesOutstanding_iS_pid_c20240101__20241231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zvKmKfaaRSbb" title="Balance, shares" style="display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000573" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">$</td><td style="display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000565" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">$</td><td style="display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000566" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">$</td><td style="display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000567" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">$</td><td style="display: none; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000568" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">)</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">$</td><td style="display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_ParentMember" id="Fact000569" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">$</td><td style="display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000570" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold">&#160;</td>
    <td style="display: none; font-weight: bold; text-align: left">$</td><td style="display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000571" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="display: none; font-weight: bold; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zsBHnIKB2GEi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Translation adjustment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0575">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0576">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0577">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000578" format="ixt:numdotdecimal" decimals="0" unitRef="USD">188,160</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-12-31_us-gaap_ParentMember" id="Fact000579" format="ixt:numdotdecimal" decimals="0" unitRef="USD">188,160</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0580">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-01to2024-12-31" id="Fact000581" format="ixt:numdotdecimal" decimals="0" unitRef="USD">188,160</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--Dividends_iN_di_zcXl5gzc7S02" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0583">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0584">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember" id="Fact000585" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,053</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0586">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-012024-12-31_us-gaap_ParentMember" id="Fact000587" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,053</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0588">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-01to2024-12-31" id="Fact000589" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,053</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_zDvlCgrxv5g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0591">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0592">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember" id="Fact000593" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,038,529</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0594">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-12-31_us-gaap_ParentMember" id="Fact000595" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,038,529</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000596" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,063,060</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31" id="Fact000597" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,101,589</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zNX5Avbow0t2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Common shares issued upon exercise of stock options</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20241231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zp1ygBg8f8p7" title="Common shares issued upon exercise of stock options, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember" id="Fact000607" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">80,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember" id="Fact000599" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000600" format="ixt:numdotdecimal" decimals="0" unitRef="USD">184,770</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0601">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0602">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-012024-12-31_us-gaap_ParentMember" id="Fact000603" format="ixt:numdotdecimal" decimals="0" unitRef="USD">184,850</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0604">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2024-01-01to2024-12-31" id="Fact000605" format="ixt:numdotdecimal" decimals="0" unitRef="USD">184,850</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_zw8fxZENdMuc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Distributions to noncontrolling interests</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0609">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0610">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0611">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0612">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0613">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000614" format="ixt:numdotdecimal" decimals="0" unitRef="USD">794,722</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-01to2024-12-31" id="Fact000615" format="ixt:numdotdecimal" decimals="0" unitRef="USD">794,722</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_zHkyhqrc1HOa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Stock-based compensation</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0617">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000618" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">673,130</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0619">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0620">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-12-31_us-gaap_ParentMember" id="Fact000621" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">673,130</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0622">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-01to2024-12-31" id="Fact000623" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">673,130</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_437_c20240101__20241231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zZiCWgOJG8K6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Balance December 31, 2024</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--SharesOutstanding_iE_pid_c20240101__20241231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zh0DY6jUzYc2" title="Balance, shares" style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" id="Fact000633" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,515,532</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" id="Fact000625" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,516</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000626" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,789,915</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember" id="Fact000627" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,836,527</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000628" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">606,986</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_ParentMember" id="Fact000629" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,031,972</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000630" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,334,054</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31" id="Fact000631" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,366,026</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_436_c20240101__20241231_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_z6jz89j3V7qi" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; font-weight: bold; padding-bottom: 2.5pt">Balance</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iE_pid_c20240101__20241231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zp5rQR1MzXQ9" title="Balance, shares" style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" id="Fact000643" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,515,532</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" id="Fact000635" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,516</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000636" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,789,915</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember" id="Fact000637" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,836,527</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000638" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">606,986</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">)</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_ParentMember" id="Fact000639" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,031,972</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000640" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,334,054</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="display: none; font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; display: none; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31" id="Fact000641" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,366,026</ix:nonFraction></td><td style="display: none; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
</table>

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

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

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

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

<!-- Field: Page; Sequence: 23; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_006"></span>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars)</b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000645" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock"><p id="xdx_80F_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_z7dUi2jvaJtk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82F_zzZMsRmeJfbd">BASIS OF PRESENTATION</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of Flexible Solutions International,
Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (&#8220;NanoChem&#8221;),
Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP
Peru Investments LLC (&#8220;ENP Peru&#8221;), Pana Chem Solutions Inc., its <span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember_ziNctp3EG6j7" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-12-31_custom_MendotaLLCMember" id="Fact000647" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% controlling interest in 317 Mendota LLC (&#8220;317
Mendota&#8221;), and its <span id="xdx_906_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zRahIgDUlDp1" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember" id="Fact000649" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP
Mendota&#8221;). All inter-company balances and transactions have been eliminated upon consolidation. The Company was incorporated on
May 12, 1998 in the State of Nevada and in 2019, the Company redomiciled into Alberta, Canada.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_z3g0lIqjN8Tb" title="Increase decrease in share percentage"><ix:nonFraction name="FSI:IncreaseDecreaseInSharePercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember" id="Fact000651" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% in ENP Peru, increasing its share to<span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zCiUoBoi8TZh" title="Increase decrease in share percentage"> <ix:nonFraction name="FSI:IncreaseDecreaseInSharePercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" id="Fact000653" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">91.67</ix:nonFraction></span>%. ENP Investments owns the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_z2XLYYL56Uq4" title="Remaining investment owned percentage"><ix:nonFraction name="FSI:RemainingInvestmentOwnedPercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" id="Fact000655" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%, of
which the Company has a <span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsAndENPMendotaMember_zghPSZUEjsWh" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember" id="Fact000657" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest. In 2023, NanoChem purchased the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_z32bcB96CxGa" title="Remaining investment owned percentage"><ix:nonFraction name="FSI:RemainingInvestmentOwnedPercentage" contextRef="From2023-01-012023-12-31_custom_ENPPeruMember" id="Fact000659" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company purchased an <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zbJG07Qgqct8" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember" id="Fact000661" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing
building. ENP Investments will occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The
Company intends to rent the remainder of the space to suitable tenants. The remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zCVwMTQilrqj" title="Noncontrolling interest percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember" id="Fact000663" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% non-controlling interest is held by unrelated
parties.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields and has installed custom equipment used to produce
food and nutritional materials. All the ingredients we produce are custom products for specific clients and are confidential. We anticipate
that this market vertical will grow over time.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000665" name="us-gaap:SignificantAccountingPoliciesTextBlock"><p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_z590mRk1Hab" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_82F_zqlPLX2j4WVh">SIGNIFICANT ACCOUNTING POLICIES</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000667" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock"><p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_z2lCrBR6E2Zi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_864_zk4FYV71CzJd">Cash and Cash Equivalents</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of December 31,
2024 and 2023, the Company did not have any cash equivalents.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 24; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000669" name="FSI:TermDepositsPolicyTextBlock"><p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zVF0JH1RCgJ4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_860_zeuPrfKqkX1e">Term Deposits</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_90E_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zNFwydByZYF5"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-12-31_custom_FirstTermMember" id="Fact000670" format="ixt:numdotdecimal" decimals="0" unitRef="USD">303,954</ix:nonFraction></span> and matures in February
2025. This deposit pays <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zhXrD7tjI5u2"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_FirstTermMember" id="Fact000671" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3</ix:nonFraction></span>% interest and if withdrawn before maturity, a penalty may be applied. The second term deposit is for $<span id="xdx_90A_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zT2Z506PaWy6"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-12-31_custom_SecondTermMember" id="Fact000672" format="ixt:numdotdecimal" decimals="0" unitRef="USD">742,834</ix:nonFraction></span>,
matures in March 2025 and pays interest at a rate of <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zwhcNhD3H8Hl"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_SecondTermMember" id="Fact000673" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">2.65</ix:nonFraction></span>%. If withdrawn before maturity, the greater of the loss of accrued interest
or $<span id="xdx_908_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zLIc9IBxJVYa" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2024-12-31_custom_SecondTermMember" id="Fact000675" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span>, plus 1% of the principal shall be levied. The third term deposit is for $<span id="xdx_90C_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zk4BzyB7EfUl"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-12-31_custom_ThirdTermMember" id="Fact000676" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,038,721</ix:nonFraction></span> and matures in March 2025. This deposit pays
<span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zyg35twIPRv1"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_ThirdTermMember" id="Fact000677" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">2.5</ix:nonFraction></span>% and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90E_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_z7fp4CN2adni" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2024-12-31_custom_ThirdTermMember" id="Fact000679" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span>, plus 1% of the principal shall be levied.
The fourth term deposit is for $<span id="xdx_902_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zXZLqtSnLtI2"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-12-31_custom_FourthTermMember" id="Fact000680" format="ixt:numdotdecimal" decimals="0" unitRef="USD">315,407</ix:nonFraction></span>, matures in February 2025 and pays interest at a rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zQp7L2qDIk79"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_FourthTermMember" id="Fact000681" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3</ix:nonFraction></span>%. If withdrawn before maturity, a
penalty may be applied.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000683" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zEWmm75pnrid" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_861_zpB0pRMcqEb3">Inventories and Cost of Sales</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost formula
to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point of sale.
Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling costs
(receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $<span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zWno9pjdI8za" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000685" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">473,843</ix:nonFraction></span>; 2023 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zbmY3rEfWALh" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000687" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">522,033</ix:nonFraction></span>). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $<span id="xdx_902_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ2lKnuUlIid" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-012024-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000689" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">895,463</ix:nonFraction></span>; 2023 - $<span id="xdx_90B_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ5BOtKG6v74" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember" id="Fact000691" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">944,811</ix:nonFraction></span>).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000693" name="us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy"><p id="xdx_845_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zxCBPLYeCCul" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_868_zxftrGgO6xM5">Allowance for Doubtful Accounts</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s expected credit losses are determined through a review using historical credit loss experience; changes in asset specific
characteristics, current conditions, and reasonable and supportable future forecasts, among other specific account data, and is performed
at least quarterly. The Company develops and documents its methodology to determine its allowance for expected credit losses. Risk characteristics
used by the Company may include customer mix, knowledge of customers and general economic conditions of the various local economics,
among others. Specific account balances are written off when management determines the amounts to be uncollectible. Management has reviewed
the balance reserved through the allowance for expected losses and believes it is reasonable.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000695" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock"><p id="xdx_844_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zLRNexYJ6Pob" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_86F_z34710hwD0te">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000697" name="FSI:ScheduleOfMethodOfDepreciationTableTextBlock"><p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zfMiSECon6d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zxcBvKpgR3qj" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 85%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2Nzj2H08Qzf" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000699" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zVzE9ePz2yKf" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-12-31_us-gaap_OfficeEquipmentMember" id="Fact000701" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zn2E6djnzfR9" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000703" name="FSI:DepreciationMethodUsedAndAnnualRate">10%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_z1ghGZZV2eJ8" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-12-31_us-gaap_AutomobilesMember" id="Fact000705" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 5 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zfXnk0GdunBj" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-12-31_us-gaap_TechnologyEquipmentMember" id="Fact000707" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 10 years</ix:nonNumeric></span></span></td></tr>
  </table>
</ix:nonNumeric><p id="xdx_8A5_zHwj8gnptBx3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company capitalizes expenditures for improvements that significantly extend the useful life of an asset. The Company recognizes a
gain (loss) on a sale of property, equipment, leaseholds and intangible assets based upon the proceeds received on the sale less the
net carrying value of the asset. The Company charges expenditures for maintenance and repairs to operations when
incurred.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 25; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000709" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"><p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zeZ907bzBE82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i>I<span id="xdx_86D_zrJOgAvjKXy8">mpairment of Long-Lived Assets</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Property,
Equipment, Leasehold, and Definite-lived Intangible Assets:</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company reviews the carrying amount of our property, equipment, leasehold, and definite-lived intangible assets for impairment when events
or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. We measure recoverability of these
assets by comparing the carrying amounts to the future undiscounted cash flows that the assets or asset group are expected to generate.
If the carrying value of the assets or asset group are not recoverable, impairment is measured and recognized as the amount by which
the carrying value exceeds its fair value. Fair value is generally determined based on discounted future cash flows.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Goodwill
and Indefinite-lived Intangible Assets:</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
and indefinite-lived intangible assets are tested for impairment annually by the Company on December 31 or more frequently if events
or changes in circumstances indicate that the carrying amount may not be recoverable. Goodwill is tested for impairment at the reporting
unit level using a two-step process which includes a qualitative and quantitative assessment. Indefinite-lived intangible assets are
tested for impairment by comparing their fair value to their carrying amount. If the carrying amount exceeds the fair value, an impairment
loss is recognized in the period it is identified. The Company determines fair value using appropriate valuation methodologies, including
discounted cash flow models and market-based approaches, which incorporate assumptions regarding future performance, growth rates, discount
rates, and other relevant factors. Any impairment losses recognized are recorded as an expense in the consolidated statements of income.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000711" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"><p id="xdx_846_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zba8rGYY8AW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_86B_zeB9auFSKag2">Foreign Currency</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the period. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of operations and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000713" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock"><p id="xdx_84A_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zP4DM087qh2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_867_zRhVDTN3d8Oc">Revenue Recognition</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
17.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 26; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000715" name="FSI:StockIssuedInExchangeForServicesPolicyTextBlock"><p id="xdx_84C_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zVNYfpFWLmmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_868_zKuoKEewouH9">Stock Issued in Exchange for Services</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at fair value based upon trading prices of the Company&#8217;s
common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized over the period
that the services are performed.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000717" name="us-gaap:CompensationRelatedCostsPolicyTextBlock"><p id="xdx_84E_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z7AMVg5P0Y42" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86E_zYUcysUwtS2">Stock-based Compensation</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock-based
compensation expense is recognized for equity awards granted to employees, directors and other eligible participants based on the fair
value of the awards at the grant date. For stock options, fair value is estimated using an appropriate valuation model such as the Black-Scholes
option pricing model. The fair value of stock options is recognized as an expense of the requisite service period, typically the vesting
period, using the graded-vesting method. The Company estimates expensed forfeitures based on historical data and adjusts stock-based
compensation expenses accordingly. Shares are issued from Treasury upon exercise of stock options.</span></p>

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



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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000719" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock"><p id="xdx_843_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zwYX7ZQXQhp5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_86D_zo1docHWWMb5">Other Comprehensive Income</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000721" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_842_eus-gaap--EarningsPerSharePolicyTextBlock_z3eBVTG1in63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_866_zH2qP2OXIv9j">Income Per Share</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended December
31, 2024 and 2023.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000723" name="us-gaap:UseOfEstimates"><p id="xdx_848_eus-gaap--UseOfEstimates_zWRPzYBChKz" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_86B_zXhORJwNQlE3">Use of Estimates</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 27; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000725" name="us-gaap:FairValueOfFinancialInstrumentsPolicy"><p id="xdx_848_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zE5Zxn3cHFGg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_864_z8cjgVWyXSG4">Fair Value of Financial Instruments</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; 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.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, investments and the line of credit for all periods presented approximate their respective carrying
amounts due to the short term nature of these financial instruments.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000727" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock"><p id="xdx_843_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zYgJZCbglFBc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_865_zk59GaAKDyX5">Contingencies</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000729" name="us-gaap:IncomeTaxPolicyTextBlock"><p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zcFt82fmaJd6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_864_zZZcRIxY8u55">Income Taxes</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income 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 reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 28; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
is the Company&#8217;s policy to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s
assessment of whether a tax benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2024,
the Company believes it has appropriately accounted for any unrecognized tax benefits.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the extent the Company prevails in matters for which a liability for an unrecognized benefit is established or is required to pay amounts
in excess of the liability, the Company&#8217;s effective tax rate in a given financial statement period may be affected. Interest and
penalties associated with the Company&#8217;s tax positions are recorded as interest expense in the consolidated statements of income
and comprehensive income.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000731" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zQe1idJCkAnd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_869_zRI9JxohR6ql">Risk Management</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zIrYMxhtz70f"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000732" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">20,779,311</ix:nonFraction></span>
(<span id="xdx_907_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7yVw9SkpRSf" title="Concentration risk threshold percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000734" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">54</ix:nonFraction></span>%) for the year ended December 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6CEgDlzIBpe"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000735" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">20,482,798</ix:nonFraction></span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlVWf0mh3Uu8" title="Concentration risk threshold percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000737" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%). Accounts receivable for the Company&#8217;s three primary customers
totaled $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zKE6FQrIWkja"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000738" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,585,199</ix:nonFraction></span> (<span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zHXR47kRQwYg" title="Concentration risk threshold percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000740" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>%) at December 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcfkw6nZOgal"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000741" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,561,164</ix:nonFraction></span> or <span id="xdx_90D_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zZNgriIhqy3e" title="Concentration risk threshold percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000743" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">67</ix:nonFraction></span>%).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign exchange risk to the extent that market value rate fluctuations materially differ for financial assets
and liabilities denominated in foreign currencies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will refinance
its long-term debt where possible to obtain more favourable rates.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000745" name="us-gaap:LesseeLeasesPolicyTextBlock"><p id="xdx_843_eus-gaap--LesseeLeasesPolicyTextBlock_zwqCaasXgiTd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_865_zXvkcTwCDF25">Leases</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#8220;ROU&#8221;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#8217;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#8217;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#8217;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 29; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000747" name="us-gaap:EquityMethodInvestmentsPolicy"><p id="xdx_848_eus-gaap--EquityMethodInvestmentsPolicy_ztywctyfx10l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_863_z4snU2xnTh5">Investments</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Investment,
at cost</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments in equity securities that do not have a readily determinable fair value using the cost method. These
investments are initially recorded at cost and are not subsequently remeasured unless impaired. Dividends received from cost-method investments
are recognized as income when declared, provided they do not represent a return of capital. The Company evaluates these investments for
impairment at each reporting period based on qualitative factors, such as financial condition, operational performance, and general market
conditions affecting the investee. If an investment is determined to be impaired and the impairment is considered other than temporary,
the carrying amount is reduced to its estimated recoverable value, with the impairment loss recognized in earnings.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Investment,
equity method</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments in entities over which it has significant influence, but not control, using the equity method of accounting.
Under the equity method, the investment is initially recorded at cost, and the carrying amount is subsequently adjusted for the Company&#8217;s
share of the investee&#8217;s income, losses, and dividends received. When a portion of an equity-method investment is sold, the Company
recognizes a gain or loss on the sale based on the difference between the carrying amount of the investment sold and the proceeds received.
The Company adjusts the carrying amount of the remaining investment based on its proportionate share of the investee&#8217;s equity after
the sale. The Company assesses its equity-method investments for impairment whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. If the carrying amount of an equity-method investment exceeds its recoverable amount, an
impairment loss is recognized.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000749" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription"><p id="xdx_842_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_z0uFHxABgghl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<span id="xdx_868_zazsskGLvYLb">Reclassification</span>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform to the 2024 financial statements presentation. Reclassifications had no effect on
net income, cash flows, or stockholders&#8217; equity as previously reported.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000751" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock"><p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zGpDNmgvkrOi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(u)
<i><span id="xdx_865_zeeq3FNJCMG4">Goodwill and Intangible Assets</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Goodwill</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price over the fair value of identifiable net assets acquired in a business combination. Goodwill
is assigned to reporting units at the date of acquisition and is not amortized but is subject to periodic impairment testing. The carrying
amount of goodwill is adjusted only in the event of impairment or upon the disposal of a business.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Intangible
Assets</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets acquired separately are recorded at cost, while those acquired in a business combination are recognized at fair value as of the
acquisition date. Intangible assets are classified into the following categories:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"/><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite-Lived
                                            Intangible Assets &#8211; These assets are amortized over their estimated useful lives on
                                            a straight-line basis or another systematic basis that better reflects the pattern of consumption
                                            of economic benefits. The estimated useful lives of these assets are reviewed periodically
                                            to determine whether adjustments are necessary.</span></td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"/><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indefinite-Lived
                                            Intangible Assets &#8211; Certain intangible assets are classified as indefinite-lived when
                                            there is no foreseeable limit to the period over which they are expected to contribute to
                                            cash flows. These assets are not amortized but are subject to periodic evaluation to confirm
                                            their classification remains appropriate.</span></td></tr></table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000753" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zRbV5intYoW5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(v)
<i><span id="xdx_860_zXZH6T2l2hQ8">Recent Accounting Pronouncements</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-07
(<i>Topic 280) Improvements to Reportable Segment Disclosures</i>. The new guidance requires disclosure of significant segment expenses
that are (1) regularly provided to or easily computed from information regularly provided to the chief operating decision maker and (2)
included in the reported measure of segment profit or loss. The new standard also allows companies to disclose multiple measures of segment
profit or loss if those measures are used to assess performance and allocate resources. We adopted this guidance which resulted in additional
required disclosures included in our consolidated financial statements for the year ended December 31, 2024 and segment disclosure for
the comparative year ended December 31, 2023 were modified retrospectively to include the new requirements.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 30; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09 (<i>Topic 740) Improvements to Income Tax Disclosures</i>. The new guidance is intended to
enhance annual income tax disclosures to address investor requests for more information about the tax risks and opportunities present
in an entity&#8217;s operations. The amendments in this standard require disclosure of additional information in specified categories
with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and
foreign income taxes. They also require greater detail about individual reconciling items in the rate reconciliation to the extent the
impact of those items exceeds a specified threshold. In addition to new disclosures associated with the rate reconciliation, the amendments
in this update require information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign
taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed a quantitative threshold. The amendments
in this update are effective on January 1, 2025 for annual periods beginning after December 15, 2024, and early adoption is permitted.
The Company does not expect the adoption to have a material impact on the consolidated financial statements and has not early adopted
the standard.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2024, the FASB issued ASU 2024-03, I<i>ncome Statement&#8212;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures
(Subtopic 220-40): Disaggregation of Income Statement Expenses</i>, which requires disclosure about the types of costs and expenses included
in certain expense captions presented on the income statement. The new disclosure requirements are effective for the Company&#8217;s
annual periods beginning after December 15, 2026, and interim periods beginning after December 15, 2027, with early adoption permitted,
and may be applied either prospectively or retrospectively. The Company is currently evaluating the ASU to determine its impact on our
consolidated financial statements and disclosures.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Management
does not believe that any other recently issued, but not yet effective, accounting standards if currently adopted would have a material
effect on the accompanying financial statements.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000755" name="us-gaap:LesseeOperatingLeasesTextBlock"><p id="xdx_809_eus-gaap--LesseeOperatingLeasesTextBlock_z1MLYijMAgC5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_82A_zJM8IygiJV1g">LEASES</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2016, NanoChem Solutions Inc. leased a space in Naperville, IL for office and research and development. The lease was for an
initial five years and renewable every five years for a further five years. In March 2024, the Company consolidated NanoChem operations
into the Peru, IL locations and terminated the lease in Naperville, IL. The Company had to pay a penalty of $<span id="xdx_909_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20241231_zMisVZ6Z8Sed" title="Payment of penalty" class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__"><ix:nonFraction name="us-gaap:OperatingLeaseLeaseIncomeLeasePayments" contextRef="From2024-01-01to2024-12-31" id="Fact000757" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,910</ix:nonFraction></span> and forfeited the
$<span id="xdx_90C_eus-gaap--SecurityDeposit_iI_c20241231_zMZbJakGucn1" title="Security deposit" class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__"><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2024-12-31" id="Fact000759" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,440</ix:nonFraction></span> security deposit to terminate the lease early and incurred a loss of $<span id="xdx_90B_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20241231_zmF4TO5cFoS7" title="Loss on terminating lease" class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__"><ix:nonFraction name="us-gaap:GainLossOnTerminationOfLease" contextRef="From2024-01-01to2024-12-31" id="Fact000761" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,350</ix:nonFraction></span> on early termination of the lease that is shown on
the consolidated statement of income and comprehensive income as a part of non-operating income (loss). The table below summarizes the
right-of-use asset and lease liability for the periods ended December 31, 2024 and 2023.</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000763" name="FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zbhZZKg2ZM92" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zE8k3KCZ43Id" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt; font-weight: bold"><span style="text-decoration: underline">Right of Use Assets</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance at December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zCfIjzW05UYk" title="Right of use assets, beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" id="Fact000765" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,222</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zwCb3lOvnrU4" title="Right of use assets, Amortization" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-012023-12-31" id="Fact000767" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">51,929</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20241231_zbUv1TjT4ifh" title="Right of use assets, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000769" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,293</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20241231_zkbhabwJs2aa" title="Right of use assets, Amortization" style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000771" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,694</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Early termination of lease</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zYrxsT2rPrwi" title="Right of use assets, early termination of lease" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="FSI:OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" contextRef="From2024-01-01to2024-12-31" id="Fact000773" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">101,599</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance at December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20241231_zinGg9sgcT71" title="Right of use assets, ending balance" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0775">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zRydc8mseAL1" title="Lease liability, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2022-12-31" id="Fact000777" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,222</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zAnnfQt24tTf" title="Lease interest expense" style="text-align: right"><ix:nonFraction name="FSI:LeaseInterestExpense" contextRef="From2023-01-012023-12-31" id="Fact000779" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,151</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_ztWqgfZSBvS6" title="Payments" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="From2023-01-012023-12-31" id="Fact000781" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">58,080</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20241231_zclt0mcd1Ml6" title="Lease liability, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" id="Fact000783" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,293</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--LeaseInterestExpense_pp0p0_c20240101__20241231_zkoJrjNZiM9j" title="Lease interest expense" style="text-align: right"><ix:nonFraction name="FSI:LeaseInterestExpense" contextRef="From2024-01-01to2024-12-31" id="Fact000785" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,186</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20241231_zPG8SqK9P0Rd" title="Payments" style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="From2024-01-01to2024-12-31" id="Fact000787" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,880</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Early termination of lease</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zBEcZHTwH2Ba" title="Lease liability, early termination of lease" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="FSI:OperatingLeaseLiabilityEarlyTerminationOfLease" contextRef="From2024-01-01to2024-12-31" id="Fact000789" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">101,599</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance at December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_983_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20241231_zrdt0DA17eal" title="Lease liability, ending balance" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0791">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<ix:exclude><!-- Field: Page; Sequence: 31; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000793" name="us-gaap:FinancingReceivablesTextBlock"><p id="xdx_804_eus-gaap--FinancingReceivablesTextBlock_zlH3EknNxne5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_82C_zp3KvwfBgf41">ACCOUNTS RECEIVABLE</span></b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000795" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock"><p id="xdx_89B_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zceJdz93jAz3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span><span id="xdx_8BD_zsNvlspjAuve" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20241231_zjKi15ji8vB4" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zvJLzn1nj8Sa" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zyZvO4bzX9Va" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2024-12-31" id="Fact000797" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,983,200</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2023-12-31" id="Fact000798" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,133,249</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zoH0ovnUx8R" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2024-12-31" id="Fact000800" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">287,102</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2023-12-31" id="Fact000801" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">290,193</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zOnB23kJ4XFh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    accounts receivable</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndNotesReceivableNet" contextRef="AsOf2024-12-31" id="Fact000803" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,696,098</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndNotesReceivableNet" contextRef="AsOf2023-12-31" id="Fact000804" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,843,056</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000806" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_804_eus-gaap--InventoryDisclosureTextBlock_zc57RW1gbCy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span id="xdx_826_zKuqTKJk0hmi">INVENTORIES</span></b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000808" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_89A_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zjA55gkuqAFe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span><span id="xdx_8B4_zav20Skyj59d" style="display: none">SCHEDULE OF INVENTORY</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20241231_zaOsFw2WGBEh" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zptX4gkCyfm4" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zooVWBpivpta" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2024-12-31" id="Fact000810" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,060,508</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2023-12-31" id="Fact000811" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,682,158</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_z5yqieO4BTlh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Raw materials and supplies</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSupplies" contextRef="AsOf2024-12-31" id="Fact000813" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,829,687</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSupplies" contextRef="AsOf2023-12-31" id="Fact000814" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,452,731</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zR5hQtYbncsb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    inventory</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-12-31" id="Fact000816" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,890,195</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000817" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,134,889</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000819" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_801_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zZYqjTafLkHg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_822_zzKAHieqV9B3">PROPERTY, EQUIPMENT AND LEASEHOLDS</span></b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000821" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><p id="xdx_89A_eus-gaap--PropertyPlantAndEquipmentTextBlock_z26C1ni6SvY6" style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span><span id="xdx_8B3_zW2bFAcFq465" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJsSigAd4Njj" style="text-align: center">2024</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z03gwukTC1e2" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zN289plvkUjh" style="text-align: center">2024</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Net</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zqi9ErJGRXL2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000822" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,795,750</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000823" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,521,212</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000824" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,274,538</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zNGLe6XEDFKh" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31_us-gaap_AutomobilesMember" id="Fact000825" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_us-gaap_AutomobilesMember" id="Fact000826" format="ixt:numdotdecimal" decimals="0" unitRef="USD">168,807</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_us-gaap_AutomobilesMember" id="Fact000827" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,448</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zJCC8feQyED2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31_us-gaap_OfficeEquipmentMember" id="Fact000828" format="ixt:numdotdecimal" decimals="0" unitRef="USD">124,526</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_us-gaap_OfficeEquipmentMember" id="Fact000829" format="ixt:numdotdecimal" decimals="0" unitRef="USD">117,011</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_us-gaap_OfficeEquipmentMember" id="Fact000830" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,515</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zoDBD1e6kTpg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000831" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,318,758</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000832" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,922,667</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000833" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,396,091</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zk7Fe869R7Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31_us-gaap_LandMember" id="Fact000834" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0835">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_us-gaap_LandMember" id="Fact000836" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2p1UU4f2rs6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000837" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000838" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0839">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_znpugGNg8F9a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Technology</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000840" format="ixt:numdotdecimal" decimals="0" unitRef="USD">94,945</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000841" format="ixt:numdotdecimal" decimals="0" unitRef="USD">94,945</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0842">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20241231_zqWRoBHlyTb3" title="Cost" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31" id="Fact000844" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,980,826</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20241231_zHJqqqt8OIL4" title="Accumulated Depreciation" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31" id="Fact000846" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,834,642</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20241231_zl30C3rLDUda" title="Property, plant and equipment, net, total" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31" id="Fact000848" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,146,184</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zLAZqoU5RiMg" style="text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z7GyNtS097C3" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zQVJb0ZQHvnh" style="text-align: center">2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Net</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zPpHwsnWT94j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000849" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,341,605</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000850" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,896,887</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000851" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,444,718</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zYnUXY6iTUj1" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000852" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000853" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,040</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000854" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,215</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z65UpD8F1Bg5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000855" format="ixt:numdotdecimal" decimals="0" unitRef="USD">177,623</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000856" format="ixt:numdotdecimal" decimals="0" unitRef="USD">165,048</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000857" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,575</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zstlo9zVrleh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000858" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,017,466</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000859" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,799,779</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000860" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,217,687</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zfv93Uve4NQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="Fact000861" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="Fact000863" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zw505N51wEEd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000864" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000865" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0866">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zAd4WYSzuwne" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Technology</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000867" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,292</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000868" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,292</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0869">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_zaG8yrTDd3Sc" title="Cost" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31" id="Fact000871" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,365,705</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zEF8TEe7OGta" title="Accumulated Depreciation" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31" id="Fact000873" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,193,918</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zcktki9Ioz39" title="Property, plant and equipment, net, total" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000875" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,171,787</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for 2024 was: $<span id="xdx_90E_eus-gaap--Depreciation_c20240101__20241231_zBcY4YeQz4Z7" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2024-01-01to2024-12-31" id="Fact000877" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,797,476</ix:nonFraction></span> (2023 - $<span id="xdx_90D_eus-gaap--Depreciation_c20230101__20231231_z5ORYkNCNrd6" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2023-01-012023-12-31" id="Fact000879" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,526,319</ix:nonFraction></span>) and is included in cost of sales in the consolidated statements
of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company sold the boat and $<span id="xdx_907_eus-gaap--GainLossOnDispositionOfAssets1_c20230101__20231231_z3UxOmoOoeXb" title="Sale of assets"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2023-01-012023-12-31" id="Fact000881" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,589</ix:nonFraction></span> was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive
income.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 32; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000883" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock"><p id="xdx_80B_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zmRYBnIA3r1f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_824_zhH9yDTaDuti">GOODWILL AND INTANGIBLE ASSETS</span></b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000885" name="us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock"><p id="xdx_89D_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zi6NgYs1V30b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
and intangibles assets, all of which relates to the acquisition of ENP Investments in 2018, at December 31, 2024 and 2023 consisted of
the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zAGk8Pu7Aixa" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20241231_zT8psaV5jxF8" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20231231_zSAO8KJ7bm8k" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Goodwill_iI_zMNprXjkK17i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; padding-bottom: 1pt">Goodwill</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2024-12-31" id="Fact000887" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="Fact000888" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--IntangibleAssetsNetExcludingGoodwillAbstract_iB_zGzDhN5MklN2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Intangibles Assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_i01I_maIANEGzAJm_z7XEp1wZbii3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Indefinite lived &#8211; trade secrets and trademarks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2024-12-31" id="Fact000893" format="ixt:numdotdecimal" decimals="0" unitRef="USD">770,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000894" format="ixt:numdotdecimal" decimals="0" unitRef="USD">770,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedCustomerListsGross_i01I_maILIAEzFbq_zO72N9CLFDW9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Definite lived &#8211; customer lists</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedCustomerListsGross" contextRef="AsOf2024-12-31" id="Fact000896" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,350,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedCustomerListsGross" contextRef="AsOf2023-12-31" id="Fact000897" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,350,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_i01NI_di_msILIAEzFbq_z0oKyziAwND5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Accumulated amortization on definite-lived intangibles assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2024-12-31" id="Fact000899" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-12-31" id="Fact000900" format="ixt:numdotdecimal" decimals="0" unitRef="USD">840,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsNet_i01TI_mtILIAEzFbq_maIANEGzAJm_zSyj2S8Nfgv4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Net definite-lived intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2024-12-31" id="Fact000902" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,350,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31" id="Fact000903" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,510,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01TI_mtIANEGzAJm_zHuUIVOTGSC7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2024-12-31" id="Fact000905" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,120,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000906" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,280,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for 2024 was $<span id="xdx_90D_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20240101__20241231_zlf84vPJTgC9" title="Amortization"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2024-01-01to2024-12-31" id="Fact000908" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></span> (2023 - $<span id="xdx_902_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zGJD2AEtGit3" title="Amortization"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-012023-12-31" id="Fact000910" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></span>) and was included in cost of sales in the consolidated statements of income
and comprehensive income. Estimated amortization expense over the next five years is as follows:</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000912" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRc4BXpVj4W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B8_zYY52AgYdXXl" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; text-align: left">&#160;</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td id="xdx_49D_20241231_zpdOtLX5pJu" style="display: none; text-align: right">&#160;</td><td style="display: none; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_zt137rRXdiy5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2024-12-31" id="Fact000914" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_zrwFIWjVo6o6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2024-12-31" id="Fact000916" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_zaVTZmYHqOgj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2024-12-31" id="Fact000918" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_z0WYuEw5v8fh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="AsOf2024-12-31" id="Fact000920" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_zj6RP5M57T92" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="AsOf2024-12-31" id="Fact000922" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000924" name="FSI:LongTermDepositsTextBlock"><p id="xdx_807_ecustom--LongTermDepositsTextBlock_zYPRMTgYd97a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_82B_z3y32DaxDmY7">LONG TERM DEPOSITS</span></span></b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000926" name="FSI:ScheduleOfLongTermDepositsTableTextBlock"><p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zYGlMr5XwdLh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by lessors and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zGyMDO0eIIjh" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20241231_zEt6tfQR8KM9" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zzv9pPsT8Hx4" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zOW484KahRji" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Long term deposits</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2024-12-31" id="Fact000928" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,882</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-12-31" id="Fact000929" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">824,254</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000931" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock"><p id="xdx_803_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zGrpIlnKiZmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>9.
<span id="xdx_82C_z302JiRrH2jb">INVESTMENTS </span></b></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact000933" name="us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock"><p id="xdx_899_eus-gaap--InvestmentHoldingsScheduleOfInvestmentsTableTextBlock_z1qKehfZgytb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company&#8217;s investments at December
31, 2024 and 2023 consisted of the following:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_z8sGgsl7iEI9">SCHEDULE
OF COMPANY&#8217;S INVESTMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zEMFjctWQbzk" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_z0TyBiL2v412" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Investments, at cost:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--LygosIncMember_zpvYFk2tfrNj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: justify">Lygos Inc., simple agreement for future equity (&#8220;SAFE&#8221;)
    agreement</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2024-12-31_custom_LygosIncMember" id="Fact000935" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-12-31_custom_LygosIncMember" id="Fact000936" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zdQzMGll72k4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Trio Opportunity Corp., <span id="xdx_90D_eus-gaap--Investments_iI_c20241231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zopIYtdbNY08" title="Investments" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIENPTVBBTlmSUyBJTlZFU1RNRU5UUyAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2024-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember" id="Fact000941" format="ixt:numdotdecimal" decimals="0" unitRef="USD">97,000</ix:nonFraction></span> non-voting Class B shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2024-12-31_custom_TrioOpportunityCorpMember" id="Fact000938" format="ixt:numdotdecimal" decimals="0" unitRef="USD">970,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-12-31_custom_TrioOpportunityCorpMember" id="Fact000939" format="ixt:numdotdecimal" decimals="0" unitRef="USD">970,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z2CKhH2WNwS1" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; padding-left: 10pt; text-align: justify">Investments, at cost:</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2024-12-31_custom_TrioOpportunityCorpMember" id="Fact000943" format="ixt:numdotdecimal" decimals="0" unitRef="USD">970,000</ix:nonFraction></td><td style="display: none; text-align: left">&#160;</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-12-31_custom_TrioOpportunityCorpMember" id="Fact000944" format="ixt:numdotdecimal" decimals="0" unitRef="USD">970,000</ix:nonFraction></td><td style="display: none; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Investment, equity method:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EquityMethodInvestments_iI_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zRNP9jfqT6Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt">Florida-based LLC</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember" id="Fact000946" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,454,381</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember" id="Fact000947" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,063,960</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--EquityMethodInvestments_iI_zlJeUrtSwcdc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: justify; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-12-31" id="Fact000949" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,424,381</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31" id="Fact000950" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,033,960</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. According to
the operating agreement, the Company had a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zc9x4DVqqIp" title="Ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember" id="Fact000952" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% interest in the profit and loss of the Florida based LLC but does not have control. In
August 2024, the Company sold a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zuDSHdEhnoek" title="Ownership percentage">
<ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember" id="Fact000954" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30.1</ix:nonFraction></span>% interest in the Florida based LLC to a third party for consideration of $<span id="xdx_901_eus-gaap--ProceedsFromSaleOfLandHeldForUse_pid_c20240801__20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z39DDXr7Hcf9" title="Unrelated party for consideration"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfLandHeldForUse" contextRef="From2024-08-012024-08-31_custom_FloridaBasedLLCMember" id="Fact000956" format="ixt:numdotdecimal" decimals="INF" unitRef="USD">2,000,000</ix:nonFraction></span>. In addition,
the Company entered a subsequent agreement for the sale of its remaining <span id="xdx_909_ecustom--EquityMethodInvestmentRemainingPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zD1SOjgUzJ6a" title="Ownership remaining percentage"><ix:nonFraction name="FSI:EquityMethodInvestmentRemainingPercentage" contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember" id="Fact000958" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">19.9</ix:nonFraction></span>% interest over the next five years for an additional $<span id="xdx_909_eus-gaap--EquityMethodInvestments_iI_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zWHplRjpynbb" title="Equity method investments"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember" id="Fact000960" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,000,000</ix:nonFraction></span>.
Starting in 2025, the Company will sell a further <span id="xdx_90F_ecustom--EquityMethodInvestmentRemainingPercentage_iI_pid_dp_uPure_c20250101__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zwyVF9L822mi" title="Ownership remaining percentage"><ix:nonFraction name="FSI:EquityMethodInvestmentRemainingPercentage" contextRef="AsOf2025-01-01_custom_FloridaBasedLLCMember_us-gaap_SubsequentEventMember" id="Fact000962" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.98</ix:nonFraction></span>% per year upon receipt of that years $<span id="xdx_90A_eus-gaap--EquityMethodInvestments_iI_pid_c20250101__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zhreKn4sdzQe" title="Equity method investments"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2025-01-01_custom_FloridaBasedLLCMember_us-gaap_SubsequentEventMember" id="Fact000964" format="ixt:numdotdecimal" decimals="INF" unitRef="USD">800,000</ix:nonFraction></span> payment. At December 31, 2024, the
Company continues to account for this investment using the equity investment as it exercises significant influence.</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 33; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember" escape="true" id="Fact000966" name="us-gaap:EquityMethodInvestmentsTextBlock"><p id="xdx_896_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfk4C1Efn6u9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the activity associated with the Company&#8217;s investment in the Florida based LLC during the years ended December 31, 2024
and 2023 is follows:</span></p>

<p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B8_zuqO14YEKrd2" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Balance, December 31, 2022 &#8211; 50% interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTQQViUm4gIe" title="Balance, Beginning" style="width: 22%; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember" id="Fact000968" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,758,895</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Balance, December 31, 2022 &#8211; <span id="xdx_905_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20221231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zbjg8QY4oUa2" title="Ownership percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember100479515" id="Fact000970" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zK9UD2DnIYle" title="Balance, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember" id="Fact000972" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,758,895</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Company&#8217;s proportionate share of earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zQFync7Zgq44" title="Company proportionate share of earnings" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact000974" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">505,065</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; text-align: justify">Distribution received</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zOlDyUWFFSzh" title="Distribution received" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:EquityMethodInvestmentDividendsOrDistributions" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact000976" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">200,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--EquityMethodInvestmentSale_z32XycPEMoUb" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Sale of 30.1% of Florida based LLC</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"/><td style="padding-bottom: 1pt; text-align: left"/></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Balance, December 31, 2023 &#8211; <span id="xdx_90E_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zE8xk2KR5sk4" title="Ownership percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember100479531" id="Fact000979" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUSUMtvEyqRe" title="Balance, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember" id="Fact000981" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,063,960</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Company&#8217;s proportionate share of earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zd8NjGP6ruHl" title="Company's proportionate share of earnings" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember" id="Fact000983" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">244,857</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Distribution received</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zi5GT4GYV7Ta" title="Distribution received" style="text-align: right">(<ix:nonFraction name="us-gaap:EquityMethodInvestmentDividendsOrDistributions" contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember" id="Fact000985" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">510,710</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Basis of <span id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zsJ7tSGgw9r6" title="Interest sold percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember" id="Fact000987" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30.1</ix:nonFraction></span>% of interest sold</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentSale_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zkOhaW2yf6Kc" title="Basis of 30.1% of interest sold" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentSale" contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember" id="Fact000989" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,343,726</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Balance, December 31, 2024 &#8211; <span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20241231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z5DtwtukDwgb" title="Ownership percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember100479531" id="Fact000991" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">19.9</ix:nonFraction></span>% interest</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsrEfkG1E501" title="Balance, Ending" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember" id="Fact000993" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,454,381</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


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

<ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember" escape="true" id="Fact000995" name="us-gaap:GainLossOnInvestmentsTextBlock"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zFDw7f7zjTpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized profit and loss information related to the Florida based LLC is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zSgmVn4lG8Oa" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240101__20241231_zsuV8ygmH142" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20231231_zRTbzCsKE8Nh" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_z2YWxdLmMeNh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: justify">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2024-01-01to2024-12-31" id="Fact000997" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,046,436</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2023-01-012023-12-31" id="Fact000998" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,043,468</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zFVAFzYxyQOa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Gross profit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2024-01-01to2024-12-31" id="Fact001000" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,640,973</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2023-01-012023-12-31" id="Fact001001" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,668,177</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zL9M9QzHFSi2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Net income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2024-01-01to2024-12-31" id="Fact001003" format="ixt:numdotdecimal" decimals="0" unitRef="USD">455,241</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2023-01-012023-12-31" id="Fact001004" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,010,128</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company had sales of $<span id="xdx_908_eus-gaap--Revenues_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z9BWvn2MPbBf" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember" id="Fact001006" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,235,394</ix:nonFraction></span> (2023 - $<span id="xdx_90F_eus-gaap--Revenues_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zeyM8SR09Oxa" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact001008" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,260,870</ix:nonFraction></span>) to the Florida based LLC, of which $<span id="xdx_906_eus-gaap--AccountsReceivableNet_iI_c20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhiQGxMvUCe5" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember" id="Fact001010" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,866,645</ix:nonFraction></span>
is included within Accounts Receivable as at December 31, 2024 (2023 - $<span id="xdx_900_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zPjgixDQWXB8" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember" id="Fact001012" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,073,813</ix:nonFraction></span>).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001014" name="us-gaap:ShortTermDebtTextBlock"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zjQijbWABaM4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_827_zQKVhMujr2Ub">LINE OF CREDIT</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2024, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving line of credit is for an aggregate amount of
up to the lesser of (i) $<span id="xdx_900_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zeRPBSFUoNia" title="Aggregate amount of revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001016" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,500,000</ix:nonFraction></span>, or (ii) <span id="xdx_90F_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__srt--RangeAxis__srt--MinimumMember_zUIS2fuWA8x2" title="Eligible percentage of domestic accounts receivable"><ix:nonFraction name="FSI:EligiblePercentageOfDomesticAccountsReceivable" contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MinimumMember" id="Fact001018" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>-<span id="xdx_909_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__srt--RangeAxis__srt--MaximumMember_zTbqGweEsuo4" title="Eligible percentage of domestic accounts receivable"><ix:nonFraction name="FSI:EligiblePercentageOfDomesticAccountsReceivable" contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MaximumMember" id="Fact001020" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% of eligible domestic accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfDomesticAccountsReceivableOfInventory_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z0JdlDTXuITe" title="Percentage of domestic accounts receivable of inventory"><ix:nonFraction name="FSI:PercentageOfDomesticAccountsReceivableOfInventory" contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001022" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% of inventory, capped at $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zC8RfssfGbs2" title="Debt face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001024" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span>.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or <span id="xdx_90B_ecustom--PercentageOfInterestOnUnpaidPrincipalBalance_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z05dYhMWq5B8" title="Interest rate on unpaid principal balance"><ix:nonFraction name="FSI:PercentageOfInterestOnUnpaidPrincipalBalance" contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001026" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.0</ix:nonFraction></span>%. The interest rate at December
31, 2024 is <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zQEqv4M9SeL5" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001028" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7.5</ix:nonFraction></span>% (2023 - <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zO6diAHiBx4c" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001030" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span>%).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_90E_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember_zEHSP9VYds3d" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember_custom_NanoChemSolutionIncMember" id="Fact001032" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_90F_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20241231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zHt5QRfp4W01" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact001034" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,925,000</ix:nonFraction></span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_90E_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20241231__us-gaap--StatementEquityComponentsAxis__custom--NoncontrollingInterestsMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zbh2TxmGTZCk" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2024-12-31_custom_NoncontrollingInterestsMember_custom_StockBankMember" id="Fact001036" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_902_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20241231__us-gaap--StatementEquityComponentsAxis__custom--NoncontrollingInterestsMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_z1S0UXchglmi" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-12-31_custom_NoncontrollingInterestsMember_custom_StockBankMember" id="Fact001038" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,575,000</ix:nonFraction></span>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance outstanding under this revolving line as of December 31, 2024 was $<span id="xdx_90A_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20241231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zGlJMI81AtHc" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2024-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001040" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,052,159</ix:nonFraction></span> (2023 - $<span id="xdx_909_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zOYIk5KhOzC2" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember" id="Fact001042" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,810,479</ix:nonFraction></span>).</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 34; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In August 2024, the Company renewed the line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving
line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_90A_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zH52vdVStRs1" title="Aggregate amount of revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-08-31_custom_StockBankMember_custom_NewAgreementMember" id="Fact001044" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span>, or (ii) <span id="xdx_90A_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPp8pCQ9928a" title="Eligible percentage of domestic accounts receivable"><ix:nonFraction name="FSI:EligiblePercentageOfDomesticAccountsReceivable" contextRef="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember" id="Fact001046" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% of eligible domestic accounts receivable
and certain foreign accounts receivable plus <span id="xdx_900_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z8UJsM5is9U7" title="Percentage of foreign accounts receivable of inventory"><ix:nonFraction name="FSI:PercentageOfForeignAccountsReceivableOfInventory" contextRef="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember" id="Fact001048" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% of inventory, capped at $<span id="xdx_900_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zvJxijVd1eOl" title="Debt face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2024-08-31_custom_StockBankMember_custom_NewAgreementMember" id="Fact001050" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,000,000</ix:nonFraction></span>. Interest on the unpaid principal balance of this
loan will be calculated using the greater of prime or <span id="xdx_90D_ecustom--PercentageOfInterestOnUnpaidPrincipalBalance_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zb3Ufswm4ETc" title="Interest rate on unpaid principal balance"><ix:nonFraction name="FSI:PercentageOfInterestOnUnpaidPrincipalBalance" contextRef="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember" id="Fact001052" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.0</ix:nonFraction></span>%. The interest rate at December 31, 2024 is <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zeTu07BxE4i5" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember" id="Fact001054" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8</ix:nonFraction></span>% (2023 - <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zhwrHzRMxIu3" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_StockBankMember_custom_NewAgreementMember" id="Fact001056" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span>%).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance outstanding under this revolving line as of December 31, 2024 were $<span id="xdx_900_eus-gaap--ShortTermBorrowings_iI_dxL_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zvRIwjTvXSm" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1058">nil</span></span> (2023 - $<span id="xdx_90B_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zKC0wV25p8Oj" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1060">nil</span></span>).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001062" name="us-gaap:LongTermDebtTextBlock"><p id="xdx_807_eus-gaap--LongTermDebtTextBlock_zoD7VdY08xW1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_821_zsrsKeN4e1p1">LONG TERM DEBT</span></b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001064" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock"><p id="xdx_893_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zfjByeoYdace" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt,
all of which is with StockYards Bank and Trust, at December 31, 2024 and 2023 consisted of the following:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BF_zRk7qt0nuqUl">SCHEDULE
OF LONG TERM DEBT</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20241231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zfIviRVsGhVb" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zDcoHfZBbA9d" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFiB3Icgi1rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">ENP Mendota, <span id="xdx_90A_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zewc44s5heYg" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zxCMLxqxuof5" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPMendotaMember" format="ixt-sec:duryear" id="Fact001069" name="us-gaap:DebtInstrumentTerm"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPMendotaMember" format="ixt-sec:duryear" id="Fact001071" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></ix:nonNumeric></span></span>-year mortgage, <span id="xdx_907_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z5MfI2wsNozk" title="Interest rate" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z2hzO0UNs3Vl" title="Interest rate" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:LongTermDebtPercentageBearingFixedInterestRate" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember" id="Fact001073" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:LongTermDebtPercentageBearingFixedInterestRate" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember" id="Fact001075" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></ix:nonFraction></span></span>% to <span id="xdx_905_eus-gaap--LongTermDebtTerm_iI_dtY_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zT2Gnda9WjWg" title="Long term debt, term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_901_eus-gaap--LongTermDebtTerm_iI_dtY_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFni2ZpNR6cc" title="Long term debt, term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember" format="ixt-sec:duryear" id="Fact001077" name="us-gaap:LongTermDebtTerm"><ix:nonNumeric contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember" format="ixt-sec:duryear" id="Fact001079" name="us-gaap:LongTermDebtTerm">5</ix:nonNumeric></ix:nonNumeric></span></span> year fixed index plus <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zeCYlolZ94Pi" title="Debt Instrument, interest rate, stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zdFCIyUgqGk1" title="Debt Instrument, interest rate, stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember" id="Fact001081" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember" id="Fact001083" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.50</ix:nonFraction></ix:nonFraction></span></span>% interest, monthly
    payments through to January 2030, collateralized by real property and all rents on said property</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember" id="Fact001066" format="ixt:numdotdecimal" decimals="0" unitRef="USD">387,577</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember" id="Fact001067" format="ixt:numdotdecimal" decimals="0" unitRef="USD">399,269</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_ztD390msEzgg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">NanoChem, <span id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zk3s96IBLOCb" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zEOvCp9mnNZ" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemMember" format="ixt-sec:duryear" id="Fact001088" name="us-gaap:DebtInstrumentTerm"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember" format="ixt-sec:duryear" id="Fact001090" name="us-gaap:DebtInstrumentTerm">3</ix:nonNumeric></ix:nonNumeric></span></span>-year note payable, <span id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zfEfghjPfm41" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFpPz4MDn983" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001092" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001094" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.90</ix:nonFraction></ix:nonFraction></span></span>% interest, monthly principal and interest payments through June
    2025, collateralized by real property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember" id="Fact001085" format="ixt:numdotdecimal" decimals="0" unitRef="USD">345,036</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember" id="Fact001086" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,004,748</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zhRN6eNxC5ff" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Peru, <span id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zzu7FGkCqKyk" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfAqfbvWYycc" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember" format="ixt-sec:duryear" id="Fact001098" name="us-gaap:DebtInstrumentTerm"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember" format="ixt-sec:duryear" id="Fact001099" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></ix:nonNumeric></span></span>-year mortgage,
    <span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zFDNjuIEnwIh" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zbW5zJekc3qi" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember" id="Fact001101" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember" id="Fact001103" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></ix:nonFraction></span></span>% interest, monthly principal and interest payments through January 2030, collateralized by real property (1<sup>st</sup> mortgage)</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember" id="Fact001096" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,658,381</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember" id="Fact001097" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,737,232</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--ENPPeruTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zZd6bmgbPV3g" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">ENP Peru, <span id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zr05K2zbfs5" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_90D_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zGQt1EdpQpb1" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember" format="ixt-sec:duryear" id="Fact001108" name="us-gaap:DebtInstrumentTerm"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember" format="ixt-sec:duryear" id="Fact001110" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></ix:nonNumeric></span></span>-year mortgage, <span id="xdx_903_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zUiTsITZZZle" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_z2WqVMmyF2Xf" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember" id="Fact001112" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember" id="Fact001114" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.4</ix:nonFraction></ix:nonFraction></span></span>% interest, monthly principal payments plus interest through June 2032,
    collateralized by real property (2nd mortgage)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember" id="Fact001105" format="ixt:numdotdecimal" decimals="0" unitRef="USD">243,957</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember" id="Fact001106" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,207</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemOneMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zpyleOqmBBZc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">NanoChem, <span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_z2RRvonYm4dk" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zS7k70tYLWu8" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemOneMember" format="ixt-sec:duryear" id="Fact001119" name="us-gaap:DebtInstrumentTerm"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemOneMember" format="ixt-sec:duryear" id="Fact001121" name="us-gaap:DebtInstrumentTerm">3</ix:nonNumeric></ix:nonNumeric></span></span>-year note payable, <span id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_znAVmQObq75j" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zsAeSlmS3hxd" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemOneMember" id="Fact001123" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemOneMember" id="Fact001125" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.5</ix:nonFraction></ix:nonFraction></span></span>% interest, interest only payments through to July 2024, then monthly
    principal and interest payments through December 2025, collateralized by manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember" id="Fact001116" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,355,285</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember" id="Fact001117" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,475,188</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--MendotaLLCMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zmPWnbpIIEH1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">317 Mendota, <span id="xdx_907_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zxcAlqulTMP2" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_902_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zHjatRaYT085" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_MendotaLLCMember" format="ixt-sec:duryear" id="Fact001130" name="us-gaap:DebtInstrumentTerm"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MendotaLLCMember" format="ixt-sec:duryear" id="Fact001132" name="us-gaap:DebtInstrumentTerm">5</ix:nonNumeric></ix:nonNumeric></span></span>-year note payable, <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zpQmlW6CrbJ6" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zGGVpkVnGFP9" title="Debt instrument interest rate stated percentage" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_MendotaLLCMember" id="Fact001134" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaLLCMember" id="Fact001136" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.79</ix:nonFraction></ix:nonFraction></span></span>% interest, interest only payments through June 2024, then monthly
    principal and interest payments through June 2028 with lump sum payment of $<span id="xdx_906_eus-gaap--RepaymentsOfLongTermDebt_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zSAtVcAj2CT4" title="Repayment of debt" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_90C_eus-gaap--RepaymentsOfLongTermDebt_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zChbNdiezmzf" title="Repayment of debt" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_MendotaLLCMember" id="Fact001138" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MendotaLLCMember" id="Fact001140" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,024,710</ix:nonFraction></ix:nonFraction></span></span> due in June 2028, collateralized by real property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember" id="Fact001127" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,223,667</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember" id="Fact001128" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,248,292</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zH3mfIwVGRv5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Nanochem, <span id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zBggygSFeOxl" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zWYKY2NsRrl5" title="Debt instrument term" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonNumeric contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember" format="ixt-sec:duryear" id="Fact001145" name="us-gaap:DebtInstrumentTerm"><ix:nonNumeric contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember" format="ixt-sec:duryear" id="Fact001147" name="us-gaap:DebtInstrumentTerm">5</ix:nonNumeric></ix:nonNumeric></span></span>-year note payable, <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zANUruu3KDvk" title="Debt interest rate" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><span id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zwhfaADsRs16" title="Debt interest rate" class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember" id="Fact001149" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember" id="Fact001151" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">7.0</ix:nonFraction></ix:nonFraction></span></span>% interest, monthly principal payments plus interest
    through August 2029, collateralized by manufacturing equipment</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember" id="Fact001142" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,545,945</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1143">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zG6s80JZZmH7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember" id="Fact001153" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,759,848</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember" id="Fact001154" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,114,936</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_zGMlbiBs7bz9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember" id="Fact001156" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,981</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember" id="Fact001157" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,281,632</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zCNgsUqFdJpa" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember" id="Fact001159" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,618,867</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember" id="Fact001160" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,833,304</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<ix:exclude><!-- Field: Page; Sequence: 35; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001162" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock"><p id="xdx_896_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zjUaXccWyEnh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the scheduled annual future principal payments as of December 31, 2024</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zQjE9CmyoEk8">SCHEDULE
OF ANNUAL FUTURE PRINCIPAL PAYMENTS</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid">Year Ended December 31,</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20241231_za2SN15wQIyg" style="border-bottom: Black 1pt solid; text-align: center">Principal Amount Due</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzRNL_zaQVCrLZLZ03" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 26%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" contextRef="AsOf2024-12-31" id="Fact001164" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,981</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzRNL_zSe3KudouMRi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" contextRef="AsOf2024-12-31" id="Fact001166" format="ixt:numdotdecimal" decimals="0" unitRef="USD">467,149</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_iI_maLTDzRNL_z9FdV4VBMEV4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" contextRef="AsOf2024-12-31" id="Fact001168" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,454</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_iI_maLTDzRNL_ztacf2cxx1nf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" contextRef="AsOf2024-12-31" id="Fact001170" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,530,128</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_iI_maLTDzRNL_zdDLMFyHcPxe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" contextRef="AsOf2024-12-31" id="Fact001172" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,123,136</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebt_iTI_mtLTDzRNL_zorlUIKvpk77" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-12-31" id="Fact001174" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,759,848</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001176" name="us-gaap:IncomeTaxDisclosureTextBlock"><p id="xdx_800_eus-gaap--IncomeTaxDisclosureTextBlock_zWGYNc4i06G3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.
<span id="xdx_82A_z3fpCMyQ8cK6">INCOME TAXES</span></b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001178" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zOadQaAQrFyj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax expense (benefit) is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_z8miQvXdah08" style="display: none">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20240101__20241231_zaEpDMyfYhrg" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_498_20230101__20231231_zRataxIy18pk" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zG79aiy81Aa5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Current tax, federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001180" format="ixt:numdotdecimal" decimals="0" unitRef="USD">763,471</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001181" format="ixt:numdotdecimal" decimals="0" unitRef="USD">753,683</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_zPU20h1KBKp2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001183" format="ixt:numdotdecimal" decimals="0" unitRef="USD">345,380</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001184" format="ixt:numdotdecimal" decimals="0" unitRef="USD">340,952</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_zqwgv1y1sTq3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Current tax, foreign</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001186" format="ixt:numdotdecimal" decimals="0" unitRef="USD">217,552</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001187" format="ixt:numdotdecimal" decimals="0" unitRef="USD">151,236</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zAJK7apapEPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:CurrentTax" contextRef="From2024-01-01to2024-12-31" id="Fact001189" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,326,403</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:CurrentTax" contextRef="From2023-01-012023-12-31" id="Fact001190" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,245,871</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zhWQodZR2d4j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Income tax benefit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2024-01-01to2024-12-31" id="Fact001192" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">621,959</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2023-01-012023-12-31" id="Fact001193" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,127,689</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_zl0tGZl2g5i7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, total expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001195" format="ixt:numdotdecimal" decimals="0" unitRef="USD">704,444</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001196" format="ixt:numdotdecimal" decimals="0" unitRef="USD">118,182</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_z4mnKKxBdvPe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income tax, federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001198" format="ixt:numdotdecimal" decimals="0" unitRef="USD">101,053</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001199" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">172,763</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zsuw1v3aaHIf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001201" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,714</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001202" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">78,154</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zjaNTHKHHmV8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Deferred income tax, foreign</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1204">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1205">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_zVj6eRjwXtl5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deferred income tax, total expense (benefit)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001207" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">146,767</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001208" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">250,917</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_z6zmz9Pb58J7" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001210" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">851,211</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001211" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">132,735</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001213" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zlvBCbWzr1Nc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#8217;s effective
tax rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B9_zkALHIo9wCE" style="display: none">SCHEDULE OF RECONCILIATION OF INCOME TAXES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20240101__20241231_zwDH1IeKBZ8a" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zZ83YNVNt2a7" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>

<tr id="xdx_406_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_zqz8AWCr5Ys7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax - United States</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="From2024-01-01to2024-12-31" id="Fact001215" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,472,950</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="From2023-01-012023-12-31" id="Fact001216" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,249,901</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_zzdyWpxSQbyc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax - Canada</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="From2024-01-01to2024-12-31" id="Fact001218" format="ixt:numdotdecimal" decimals="0" unitRef="USD">479,850</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="From2023-01-012023-12-31" id="Fact001219" format="ixt:numdotdecimal" decimals="0" unitRef="USD">373,349</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_ecustom--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_zxt3jEJUdXz3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="FSI:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" id="Fact001221" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,952,800</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="FSI:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" contextRef="From2023-01-012023-12-31" id="Fact001222" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,623,250</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_ze1huvSMDtk4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">US
    federal statutory tax rate</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31" id="Fact001224" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21.00</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-012023-12-31" id="Fact001225" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21.00</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zTyimVX0nkG2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Expected
    income tax expense</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="FSI:ExpectedIncomeTaxRecovery" contextRef="From2024-01-01to2024-12-31" id="Fact001227" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,040,088</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="FSI:ExpectedIncomeTaxRecovery" contextRef="From2023-01-012023-12-31" id="Fact001228" format="ixt:numdotdecimal" decimals="0" unitRef="USD">760,883</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_z217L0opJJY3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">State
    income tax expense, net of federal tax benefit</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="From2024-01-01to2024-12-31" id="Fact001230" format="ixt:numdotdecimal" decimals="0" unitRef="USD">371,708</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="From2023-01-012023-12-31" id="Fact001231" format="ixt:numdotdecimal" decimals="0" unitRef="USD">344,208</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-deductible
    items</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2024-01-01to2024-12-31" id="Fact001233" format="ixt:numdotdecimal" decimals="0" unitRef="USD">64,857</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2023-01-012023-12-31" id="Fact001234" format="ixt:numdotdecimal" decimals="0" unitRef="USD">362,554</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Change in
    estimates and other</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="From2024-01-01to2024-12-31" id="Fact001236" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">194,142</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="From2023-01-012023-12-31" id="Fact001237" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,585,427</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign tax
    rate differential</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="From2024-01-01to2024-12-31" id="Fact001239" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">35,952</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="From2023-01-012023-12-31" id="Fact001240" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">92,379</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Change
    in valuation allowance</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2024-01-01to2024-12-31" id="Fact001242" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">395,348</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2023-01-012023-12-31" id="Fact001243" format="ixt:numdotdecimal" decimals="0" unitRef="USD">77,426</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    income taxes expense (benefit)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" id="Fact001245" format="ixt:numdotdecimal" decimals="0" unitRef="USD">851,211</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-12-31" id="Fact001246" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">132,735</ix:nonFraction></span></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  </table>


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


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Included
in current income tax expense for the year ended December 31, 2024 is a recovery of $<span id="xdx_902_ecustom--IncomeTaxRecovery_c20240101__20241231_zN0S0iTaS4Va" title="Current income tax expense"><ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2024-01-01to2024-12-31" id="Fact001248" format="ixt:numdotdecimal" decimals="0" unitRef="USD">621,959</ix:nonFraction></span> (2023 - $<span id="xdx_903_ecustom--IncomeTaxRecovery_c20230101__20231231_zg40mk1Tmsw3" title="Current income tax expense"><ix:nonFraction name="FSI:IncomeTaxRecovery" contextRef="From2023-01-012023-12-31" id="Fact001250" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,127,689</ix:nonFraction></span>) for a revision of estimated
current taxes payable for previous years.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001252" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zqNMKAI3Uwc5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2024 and 2023 are comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zD272esnnRc1" style="display: none">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zYKn9ll80bIl" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zgg2fvHlyOt3" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzi6P_zPVFNjIYHU9l" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left; padding-left: 10pt">Non-capital loss carryforwards</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001254" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,059,468</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001255" format="ixt:numdotdecimal" decimals="0" unitRef="USD">855,176</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--DeferredTaxAssetsShareIssuanceCosts_iI_maDTAGzi6P_z5KaaKqIWKu4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Share issuance costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:DeferredTaxAssetsShareIssuanceCosts" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001257" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,024</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><span style="-sec-ix-hidden: xdx2ixbrl1258">-</span></p></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_maDTAGzi6P_zmeC22FTW8Pj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Property, equipment and leaseholds</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipment" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001260" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,995</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipment" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001261" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,916</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzi6P_maDTANz7Lk_zDyCgKnhCIIf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred tax assets gross</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001263" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,088,487</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001264" format="ixt:numdotdecimal" decimals="0" unitRef="USD">886,092</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz7Lk_z8GiDQ6plE1c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001266" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,088,487</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001267" format="ixt:numdotdecimal" decimals="0" unitRef="USD">886,092</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz7Lk_zyUux6ZkcB28" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Net deferred tax asset</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1269">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1270">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
</table>

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


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

<ix:exclude><!-- Field: Page; Sequence: 36; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1pt">&#160;</td><td style="text-align: center; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td id="xdx_49C_20241231_zsQzWC6ne2T9" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td id="xdx_495_20231231_zB0WYN7d4jlj" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt; text-align: center">&#160;</td></tr>

<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">United States</td><td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzybq_zh25brcMXN52" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
    operating loss carryforwards</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="AsOf2024-12-31" id="Fact001272" format="ixt:numdotdecimal" decimals="0" unitRef="USD">190,024</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1273">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_401_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iI_maDTAGzybq_zukF2HuXEYmc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property,
    equipment and leaseholds</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne" contextRef="AsOf2024-12-31" id="Fact001275" format="ixt:numdotdecimal" decimals="0" unitRef="USD">502,646</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne" contextRef="AsOf2023-12-31" id="Fact001276" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,093</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzybq_maDTANz3Hm_zMvok54rRvDh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    tax asset</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2024-12-31" id="Fact001278" format="ixt:numdotdecimal" decimals="0" unitRef="USD">692,670</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2023-12-31" id="Fact001279" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,093</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz3Hm_zBSIWxXd1eke" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
    allowance</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2024-12-31" id="Fact001281" format="ixt:numdotdecimal" decimals="0" unitRef="USD">192,953</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1282">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz3Hm_maDTALNzuqF_zhgHnrhs8GQk" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt">Net deferred tax asset</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2024-12-31" id="Fact001284" format="ixt:numdotdecimal" decimals="0" unitRef="USD">499,717</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-12-31" id="Fact001285" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,093</ix:nonFraction></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_iNI_di_maDITLzQ2S_z3pr9qAi9ECa" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
    assets</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" contextRef="AsOf2024-12-31" id="Fact001287" format="ixt:numdotdecimal" decimals="0" unitRef="USD">516,414</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" contextRef="AsOf2023-12-31" id="Fact001288" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,346</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesInvestments_iNI_di_maDITLzQ2S_zwacTiSlQhj7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Investments</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesInvestments" contextRef="AsOf2024-12-31" id="Fact001290" format="ixt:numdotdecimal" decimals="0" unitRef="USD">105,322</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1291">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--DeferredIncomeTaxLiabilities_iNTI_di_mtDITLzQ2S_msDTALNzuqF_zVvf1xeGf5R4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    tax liability</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="AsOf2024-12-31" id="Fact001293" format="ixt:numdotdecimal" decimals="0" unitRef="USD">621,736</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="AsOf2023-12-31" id="Fact001294" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,346</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--DeferredTaxAssetsLiabilities_iTI_mtDTALNzuqF_zFGJk4sVKCh9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
    deferred tax asset (liability)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="FSI:DeferredTaxAssetsLiabilities" contextRef="AsOf2024-12-31" id="Fact001296" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">122,019</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="FSI:DeferredTaxAssetsLiabilities" contextRef="AsOf2023-12-31" id="Fact001297" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,747</ix:nonFraction></span></td><td style="padding-bottom: 1pt; font-size: 12pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>



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


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has non-capital loss carryforwards of approximately $<span id="xdx_90D_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zVm9nup0fZMb"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001298" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,606,383</ix:nonFraction></span> </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">which may be carried forward to apply against
future year income tax for Canadian income tax purposes, subject to the final determination by taxation authorities, expiring in the
following years:</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001300" name="FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock"><p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zk3EUo4K4156" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zT5sfl200BI9" style="display: none">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Loss</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">2030</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_zrCA498GOphb" title="Total" style="width: 26%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandThirtyTaxYearMember" id="Fact001302" format="ixt:numdotdecimal" decimals="0" unitRef="USD">249,807</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2031</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zDGLr1W8zpU7" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandThirtyOneYearMember" id="Fact001304" format="ixt:numdotdecimal" decimals="0" unitRef="USD">865,746</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2032</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zeS8FvE7Jt89" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandThirtyTwoYearMember" id="Fact001306" format="ixt:numdotdecimal" decimals="0" unitRef="USD">566,109</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2037</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zthjaN6151cl" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandThirtySevenYearMember" id="Fact001308" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,555,780</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2039</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zmGwLavsSKHk" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandThirtyNineYearMember" id="Fact001310" format="ixt:numdotdecimal" decimals="0" unitRef="USD">134,471</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2040</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zoMXC8ajf3sl" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandFourtyYearMember" id="Fact001312" format="ixt:numdotdecimal" decimals="0" unitRef="USD">396,186</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2041</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyOneYearMember_z4BWiB12Loyd" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandFourtyOneYearMember" id="Fact001314" format="ixt:numdotdecimal" decimals="0" unitRef="USD">301,063</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2042</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyTwoYearMember_zgNY5GDhgAXf" title="Total" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandFourtyTwoYearMember" id="Fact001316" format="ixt:numdotdecimal" decimals="0" unitRef="USD">315,157</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">2043</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyThreeYearMember_zue9S8Mvucqe" title="Total" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_TwoThousandFourtyThreeYearMember" id="Fact001318" format="ixt:numdotdecimal" decimals="0" unitRef="USD">222,064</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231_zpBwksLvD596" title="Total" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31" id="Fact001320" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,606,383</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
at December 31, 2024, the Company has federal and state income tax net operating loss carryforwards of $<span id="xdx_908_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__custom--FederalAndStatedIncomeTaxMember_zkgroqBek4yb" title="Operating loss carryforward"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2024-12-31_custom_FederalAndStatedIncomeTaxMember" id="Fact001322" format="ixt:numdotdecimal" decimals="0" unitRef="USD">623,028</ix:nonFraction></span> available for US tax
purposes. <span id="xdx_903_eus-gaap--OperatingLossCarryforwardsLimitationsOnUse_c20240101__20241231_zxVDZrf15yT2" title="Limited utilization"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" id="Fact001324" name="us-gaap:OperatingLossCarryforwardsLimitationsOnUse">The NOLs carry forward indefinitely, with utilization limited to offsetting up to 80% of taxable income in any given year.</ix:nonNumeric></span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Accounting
for Uncertainty for Income Tax</span></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes income tax liabilities from uncertain tax positions where there is uncertainty as to a tax position being sustainable
using the more-likely-than-not threshold. During the years ended December 31, 2024 and 2023, the total liability for uncertain tax positions
increased by $<span id="xdx_90D_eus-gaap--UnrecognizedTaxBenefitsPeriodIncreaseDecrease_c20240101__20241231_z9TuASebgML3" title="Unrecognized tax benefits, increased"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease" contextRef="From2024-01-01to2024-12-31" id="Fact001326" format="ixt:numdotdecimal" decimals="0" unitRef="USD">419,214</ix:nonFraction></span> and $<span id="xdx_90B_eus-gaap--UnrecognizedTaxBenefitsPeriodIncreaseDecrease_c20230101__20231231_zggKRdCxyMU4" title="Unrecognized tax benefits, increased"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease" contextRef="From2023-01-012023-12-31" id="Fact001328" format="ixt:numdotdecimal" decimals="0" unitRef="USD">464,185</ix:nonFraction></span> respectively, primarily due to increased liabilities based on existing tax positions. As of December
31, 2024 and 2023, the Company has recognized liabilities for uncertain tax positions of $<span id="xdx_901_eus-gaap--UnrecognizedTaxBenefits_iI_c20241231_zsMiOh1pv8ui" title="Unrecognized tax benefits"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2024-12-31" id="Fact001330" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,754,007</ix:nonFraction></span> and $<span id="xdx_909_eus-gaap--UnrecognizedTaxBenefits_iI_c20231231_zGG2ZX8ChkWh" title="Unrecognized tax benefits"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2023-12-31" id="Fact001332" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,334,793</ix:nonFraction></span>, respectively, which
is included in income taxes payable on the consolidated balance sheets. All recorded uncertain tax positions impact the Company&#8217;s
effective tax rate. The timing of any future settlements&#160;or&#160;payments&#160;related to uncertain tax positions is
uncertain.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Additionally,
the Company has accrued interest and penalties related to these unrecognized tax benefits and other items, which are recorded as a component
of income tax expense (benefit). As of December 31, 2024 and 2023, the Company recorded an additional $<span id="xdx_902_eus-gaap--IncomeTaxExaminationPenaltiesAndInterestAccrued_iI_c20241231_zWPhd3uqMBt1" title="Accrued interest and penalties"><ix:nonFraction name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" contextRef="AsOf2024-12-31" id="Fact001334" format="ixt:numdotdecimal" decimals="0" unitRef="USD">333,086</ix:nonFraction></span> and $<span id="xdx_901_eus-gaap--IncomeTaxExaminationPenaltiesAndInterestAccrued_iI_c20231231_z0epIp4WzcD6" title="Accrued interest and penalties"><ix:nonFraction name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" contextRef="AsOf2023-12-31" id="Fact001336" format="ixt:numdotdecimal" decimals="0" unitRef="USD">193,551</ix:nonFraction></span> in accrued
interest and penalties. At December 31, 2024 and 2023, the Company had accrued interest and penalties related to unrecognized tax benefits
of $<span id="xdx_903_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_iI_c20241231_zlon5GpPRsJa" title="Unrecognized accrued interest and penalties"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" contextRef="AsOf2024-12-31" id="Fact001338" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,237,637</ix:nonFraction></span> and $<span id="xdx_906_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_iI_c20231231_zGHs9VdsVZA2" title="Unrecognized accrued interest and penalties"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" contextRef="AsOf2023-12-31" id="Fact001340" format="ixt:numdotdecimal" decimals="0" unitRef="USD">904,549</ix:nonFraction></span> respectively, which is included in income taxes payable on the consolidated balance sheets.</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001342" name="us-gaap:EarningsPerShareTextBlock"><p id="xdx_808_eus-gaap--EarningsPerShareTextBlock_zGm9pIunid4a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82F_z3y8F3nnuRfa">INCOME PER SHARE</span></b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001344" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"><p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zZcTm6dL7Yq1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company presents both basic and diluted income per share on the face of its consolidated statements of income and comprehensive income.
Basic and diluted income per share are calculated as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zfuErYI7p5s9" style="display: none">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240101__20241231_zH13FE94Zm9e" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20230101__20231231_zIOamJWTHffa" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net income attributable to controlling interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31" id="Fact001346" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,038,529</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-12-31" id="Fact001347" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,864</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average common shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_z2Rh2LsmSHD1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-01-01to2024-12-31" id="Fact001349" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,454,957</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-12-31" id="Fact001350" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,434,886</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_ztli2YKt7eZa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-01to2024-12-31" id="Fact001352" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,680,668</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-012023-12-31" id="Fact001353" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,489,467</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share attributable to controlling interest:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 10pt">Basic and diluted</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20240101__20241231_zVxBU8lrznf" title="Net income per common share attributable to controlling interest: Basic"><span id="xdx_90A_eus-gaap--EarningsPerShareDiluted_c20240101__20241231_zdvFNPX3RPb4" title="Net income per common share attributable to controlling interest: Diluted"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-01-01to2024-12-31" id="Fact001355" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-01to2024-12-31" id="Fact001357" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.24</ix:nonFraction></ix:nonFraction></span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_901_eus-gaap--EarningsPerShareBasic_c20230101__20231231_zUHyXZJb6Cta" title="Net income per common share attributable to controlling interest: Basic"><span id="xdx_90B_eus-gaap--EarningsPerShareDiluted_c20230101__20231231_zdntjnh8HBMe" title="Net income per common share attributable to controlling interest: Diluted"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-12-31" id="Fact001359" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-012023-12-31" id="Fact001361" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.22</ix:nonFraction></ix:nonFraction></span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

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

<ix:exclude><!-- Field: Page; Sequence: 37; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
stock options whose terms and conditions are described in Note 14, &#8220;Stock Options&#8221; could potentially dilute basic EPS in
the future, but were not included in the computation of diluted EPS because to do so would have been anti-dilutive. Those anti-dilutive
options are as follows.</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001363" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_ztsS6MRigX2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B2_zRKmwMuDA9l6" style="display: none">SCHEDULE OF ANTI-DILUTIVE OPTIONS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20241231_zAcSQ6CefYek" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zrvzsI9Fszn5" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Anti-dilutive options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2024-01-01to2024-12-31" id="Fact001365" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">745,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-01-012023-12-31" id="Fact001366" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">740,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
were <span id="xdx_903_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z8XQ3eK2lfRd" title="Preferred stock, shares issued"><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLDw3WgPUPhi" title="Preferred stock, shares outstanding"><span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zhxoQRRIugqb" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z24y2cLqHTN" title="Preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001368" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001370" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001372" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001374" format="ixt-sec:numwordsen" decimals="INF" unitRef="Shares">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> preferred shares issued and outstanding during the years ended December 31, 2024 and 2023.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001376" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"><p id="xdx_809_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zdtcjKUmNpRk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_82D_zdtGB3UEDPl4">STOCK OPTIONS</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20240101__20241231_zgVg4WgBgpia" title="Options granted percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="From2024-01-01to2024-12-31" id="Fact001378" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next <span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20240101__20241231_z3mnuH8W3Mr6" title="Vested term"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear" id="Fact001380" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">5</ix:nonNumeric></span> years. The maximum term of options granted is <span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20240101__20241231_zT2Obniqz79f" title="Options maximum granted term"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear" id="Fact001382" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">5</ix:nonNumeric></span> years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001384" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zCBn68sReWB4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the years ended December 31, 2024 and 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span><span id="xdx_8B7_zcxwqJ1yR25a" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Number of shares</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Exercise price <br/> per share</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Weighted average <br/> exercise price</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zP7uxiN9mCW7" title="Number of shares, Beginning Balance" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31" id="Fact001386" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,686,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9BQUlZK6VM1" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MinimumMember" id="Fact001388" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span>
                                            &#8211;<span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_z1ecJV1rwIT2" title="Exercise price per share, Beginning Balance"> <ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MaximumMember" id="Fact001390" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zc0LjSWaewM9" title="Weighted average exercise price, Beginning Balance" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31" id="Fact001392" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.26</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_ztRhOeBCHNl3" title="Number of shares, Cancelled or expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2023-01-012023-12-31" id="Fact001394" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">564,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zt2BuIssL51f" title="Exercise price per share, Cancelled or expired"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2023-01-012023-12-31_srt_MinimumMember" id="Fact001396" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.46</ix:nonFraction></span>
                                       &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zFGBFVrPtTi3" title="Exercise price per share, Cancelled or expired"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2023-01-012023-12-31_srt_MaximumMember" id="Fact001398" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zQqkE3R0Y46l" title="Weighted average exercise price, Cancelled or expired" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31" id="Fact001400" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.55</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercised</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zk0K93DWQo12" title="Number of shares, Exercised" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31" id="Fact001402" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zHgSGbA5z4pe" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2023-01-012023-12-31" id="Fact001404" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_z2cBZkNT7EUg" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31" id="Fact001406" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20241231_ziwwxEhckITk" title="Number of shares, Beginning Balance" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31" id="Fact001408" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,114,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zrZdKYoPX13d" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MinimumMember" id="Fact001410" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span>
                                       &#8211; <span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_ztxuceU9uf7e" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MaximumMember" id="Fact001412" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20241231_zHDedNoz3UI3" title="Weighted average exercise price, Beginning Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31" id="Fact001414" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.13</ix:nonFraction></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20241231_zw4xHcpzStq6" title="Number of shares, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-01to2024-12-31" id="Fact001416" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,081,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfNYHcKlP794" title="Exercise price per share, Granted"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" contextRef="From2024-01-012024-12-31_srt_MinimumMember" id="Fact001418" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.00</ix:nonFraction>
</span>                                       &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_znqnSYzZa4W2" title="Exercise price per share, Granted"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" contextRef="From2024-01-012024-12-31_srt_MaximumMember" id="Fact001420" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.05</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20241231_z0J0LrTgOb9l" title="Weighted average exercise price, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-12-31" id="Fact001422" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.12</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20241231_zPvPIfEZLm22" title="Number of shares, Cancelled or expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2024-01-01to2024-12-31" id="Fact001424" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">275,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zQ3Gya0JIFJ6" title="Exercise price per share, Cancelled or expired"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2024-01-012024-12-31_srt_MinimumMember" id="Fact001426" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span>
                                       &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z43dscSw3lTa" title="Exercise price per share, Cancelled or expired"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2024-01-012024-12-31_srt_MaximumMember" id="Fact001428" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20241231_zorPuhj0RUv8" title="Weighted average exercise price, Cancelled or expired" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-12-31" id="Fact001430" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.54</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercised</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20241231_zQ2bVLGK0Vl6" title="Number of shares, Exercised" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-01to2024-12-31" id="Fact001432" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">80,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z38dCbHHsdMi" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2024-01-012024-12-31_srt_MinimumMember" id="Fact001434" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span>
                                            &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zr5d0cnrP1Qa" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2024-01-012024-12-31_srt_MaximumMember" id="Fact001436" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.44</ix:nonFraction></span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20241231_z4jwUNnjThF" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-12-31" id="Fact001438" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.31</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20241231_zjOF5qQnP4V4" title="Number of shares, Ending Balance" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-12-31" id="Fact001440" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,840,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zFCRa9SFJD5i" title="Exercise price per share, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2024-12-31_srt_MinimumMember" id="Fact001442" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.00</ix:nonFraction></span>
                                            &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zibPhPl3Jyf9" title="Exercise price per share, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2024-12-31_srt_MaximumMember" id="Fact001444" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.05</ix:nonFraction></span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20241231_z3O6Er2eDOS6" title="Weighted average exercise price, Ending Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2024-12-31" id="Fact001446" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.68</ix:nonFraction></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercisable, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20241231_znVrUihVo2tk" title="Number of shares Exercisable, Ending Balance" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2024-12-31" id="Fact001448" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">939,000</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfmfJDxmbKuj" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2024-12-31_srt_MinimumMember" id="Fact001450" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.00</ix:nonFraction></span>
                                            &#8211; <span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zydmsRRuazu8" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2024-12-31_srt_MaximumMember" id="Fact001452" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20241231_zV7aOpSKnlA1" title="Weighted average exercise price, Exercisable, Ending Balance" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2024-12-31" id="Fact001454" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.71</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001456" name="FSI:ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock"><p id="xdx_89E_ecustom--ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_zNgzfHBNogG6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the years ended December 31, 2024 and 2023, the Company recognized stock based compensation associated with stock options as
follows:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zpBdIW8XeWW1">SCHEDULE
OF RECOGNIZED STOCK BASED COMPENSATION&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20240101__20241231_zzQx6JyXKmri" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_z6LspYiWBZFf" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Line item on the statement of income and comprehensive income:</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--WagesAndAdministrativeSalariesMember_zmzDFgPlti0j" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: justify">Wages and administrative salaries</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-012024-12-31_custom_WagesAndAdministrativeSalariesMember" id="Fact001458" format="ixt:numdotdecimal" decimals="0" unitRef="USD">623,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-012023-12-31_custom_WagesAndAdministrativeSalariesMember" id="Fact001459" format="ixt:numdotdecimal" decimals="0" unitRef="USD">331,609</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--ConsultingMember_zDTmhKt6Hu9j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt">Consulting</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-012024-12-31_custom_ConsultingMember" id="Fact001461" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,130</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-012023-12-31_custom_ConsultingMember" id="Fact001462" format="ixt:numdotdecimal" decimals="0" unitRef="USD">63,471</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--ShareBasedCompensation_z3597WWSTQbb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock
    based compensation</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-01to2024-12-31" id="Fact001464" format="ixt:numdotdecimal" decimals="0" unitRef="USD">673,130</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-012023-12-31" id="Fact001465" format="ixt:numdotdecimal" decimals="0" unitRef="USD">395,080</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company granted <span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20240101__20241231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_z19CsV529Rs8" title="Number of stock options to employees, granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2024-01-012024-12-31_custom_ConsultantsMember" id="Fact001467" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">102,000</ix:nonFraction></span> (2023 &#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zUFofKCryEY7" title="Number of stock options to employees, granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1469">nil</span></span>) stock options to consultants and <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20240101__20241231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zkyNcFmUPHma" title="Number of stock options to employees"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2024-01-012024-12-31_custom_EmployeesMember" id="Fact001471" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">979,000</ix:nonFraction></span> (2023 &#8211;
<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zZexjFtQKclc" title="Number of stock options to employees::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1473">nil</span></span>) stock options to employees. The fair value of options granted during 2024 was calculated using the following range of assumptions:</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001475" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zx8bKhJcjWzf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zyjqvPalQXV3" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20241231_zC1fOZYv7x3e" title="Expected life - years"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear" id="Fact001477" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">3.0</ix:nonNumeric></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zKoSOZA5Wkcc" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2024-01-012024-12-31_srt_MinimumMember" id="Fact001479" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.76</ix:nonFraction></span>
                                            &#8211; <span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zDgseRfr4G47" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2024-01-012024-12-31_srt_MaximumMember" id="Fact001481" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.11</ix:nonFraction></span></span>%</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z50nZiFVWlVe" title="Volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2024-01-012024-12-31_srt_MinimumMember" id="Fact001483" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">66.01</ix:nonFraction></span>
                                            &#8211;<span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_za2brpHc0eS6" title="Volatility"> <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2024-01-012024-12-31_srt_MaximumMember" id="Fact001485" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">71.59</ix:nonFraction></span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">$<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zN9QEMVEFYU3" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-12-31_srt_MinimumMember" id="Fact001487" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.46</ix:nonFraction></span>
                                            &#8211; <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z5y3e49WpjGk" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-12-31_srt_MaximumMember" id="Fact001489" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.02</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

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

<ix:exclude><!-- Field: Page; Sequence: 38; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2024, the weighted-average remaining contractual life of outstanding and exercisable options is <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20241231_zjOMzik7A0kf" title="Weighted-average remaining contractual life, outstanding"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear" id="Fact001491" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.4</ix:nonNumeric></span> years and <span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20241231_zitCFCrU0g6e" title="Weighted-average remaining contractual life, exercisable"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear" id="Fact001493" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">3.1</ix:nonNumeric></span> years,
respectively. As of December 31, 2024, there was approximately $<span id="xdx_903_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20241231_zQjKtZiEGKm8" title="Stock vested compensation non vested"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2024-12-31" id="Fact001495" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">603,850</ix:nonFraction></span> of compensation expense related to non-vested awards that is
expected to be recognized over a weighted average period of <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20240101__20241231_zfCiMCTZVhx6" title="Weighted average period expected to be recognized"><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear" id="Fact001497" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">1.9</ix:nonNumeric></span> years.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of options outstanding and exercisable at December 31, 2024 is $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zNLqXMFcBspa" title="Aggregate intrinsic value of vested options, outstanding"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001499" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,709,850</ix:nonFraction></span> (2023 - $<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRp2X3LRYYHh" title="Aggregate intrinsic value of vested options, outstanding::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1501">nil</span></span>) and $<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zfKOAIAGCpyh" title="Aggregate intrinsic value of vested options, exercisable"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001503" format="ixt:numdotdecimal" decimals="0" unitRef="USD">843,790</ix:nonFraction></span> (2023
- $<span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zydEOwsb0rY2" title="Aggregate intrinsic value of vested options, exercisable::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1505">nil</span></span>), respectively. During the year ended December 31, 2024, the intrinsic value of stock options exercised was $<span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20240101__20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zSROMCtdqi4f" title="Aggregate intrinsic value of vested options exercised"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="From2024-01-012024-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001507" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,730</ix:nonFraction></span> (2023 - $<span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z35JyCzU0NSa" title="Aggregate intrinsic value of vested options exercised"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001509" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,520</ix:nonFraction></span>).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001511" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_ze0MTzL0okJd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_82B_zOV2n0gLIEt2">CAPITAL STOCK</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20241231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAjh5nS85Q4h" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-012024-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001513" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">47,000</ix:nonFraction></span> shares were issued upon the exercise of employee stock options (2023 &#8211; <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbkExIa9P7f4" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember" id="Fact001515" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></span>) and <span id="xdx_903_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20241231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zwSYeQMfHzPi" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-012024-12-31_custom_ConsultantStockOptionMember" id="Fact001517" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">33,000</ix:nonFraction></span>
shares were issued upon the exercise of consultant stock options (2023 &#8211; <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_dxL_c20230101__20231231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zGKMVPasxdw3" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1519">nil</span></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company announced a special dividend of $<span id="xdx_901_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20241231_zg82kPWy7rOi" title="Dividends per share"><ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="AsOf2024-12-31" id="Fact001521" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.10</ix:nonFraction></span> per share that was paid on May 16, 2024 to shareholders
for a total of $<span id="xdx_908_eus-gaap--Dividends_pid_c20240101__20241231_zGKwgYTZ2J0c" title="Dividends"><ix:nonFraction name="us-gaap:Dividends" contextRef="From2024-01-01to2024-12-31" id="Fact001523" format="ixt:numdotdecimal" decimals="INF" unitRef="USD">1,255,053</ix:nonFraction></span> (2023 - $<span id="xdx_905_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20231231_z2iR4KDWbYYh" title="Dividends per share"><ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="AsOf2023-12-31" id="Fact001525" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</ix:nonFraction></span>/share for a total of $<span id="xdx_906_eus-gaap--Dividends_pid_c20230101__20231231_zSV02Qymqlgc" title="Dividends"><ix:nonFraction name="us-gaap:Dividends" contextRef="From2023-01-012023-12-31" id="Fact001527" format="ixt:numdotdecimal" decimals="INF" unitRef="USD">626,777</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company issued <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20231231_zGCBwP3LYMS" title="Consultant for services, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-012023-12-31" id="Fact001529" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,272</ix:nonFraction></span> shares to a consultant for services rendered, resulting in an expense of $<span id="xdx_903_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20231231_zDihgnFzVQae" title="Consultant for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-12-31" id="Fact001531" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,070</ix:nonFraction></span>
on the consolidated statements of income and comprehensive income.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001533" name="us-gaap:MinorityInterestDisclosureTextBlock"><p id="xdx_805_eus-gaap--MinorityInterestDisclosureTextBlock_zE6hPkLdk207" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_828_zpSWUiQauhW7">NON-CONTROLLING INTERESTS</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a <span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zRUindcUvdV1" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember" id="Fact001535" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z3ABQd3M11sk" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2024-12-31_custom_ENPInvestmentsLLCMember" id="Fact001537" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into
these financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment. See Note 17.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_906_eus-gaap--PaymentsToMinorityShareholders_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMXXEJr342Ia" title="Partnership distribution to non-controlling interest"><ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember" id="Fact001539" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,020,679</ix:nonFraction></span>.</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001541" name="FSI:ScheduleOfDistributionsTableTextBlock"><p id="xdx_89B_ecustom--ScheduleOfDistributionsTableTextBlock_zW8AQ2VemZV3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span><span id="xdx_8BE_zgfRv1AnDza" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zbehpKCsLuQ3" title="Non-controlling interests, Beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001543" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zAWR6LxFVUaj" title="Distribution" style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001545" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zwgWCWHLZiCa" title="Non-controlling interest share of income" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001547" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,015,604</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zGhZ3vCmPWJ8" title="Non-controlling interests, Beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001549" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,901,199</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zR9ErOnHUbtc" title="Distribution" style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001551" format="ixt:numdotdecimal" decimals="0" unitRef="USD">794,722</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Non-controlling interest share of income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_ztIm5oRoTlLb" title="Non-controlling interest share of income" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001553" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,164,037</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh2z69JPcRq1" title="Non-controlling interests, Ending balance" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001555" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,270,514</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company had sales of $<span id="xdx_901_eus-gaap--Revenues_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z05O3apTWMi" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember" id="Fact001557" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,050,462</ix:nonFraction></span> (2023 - $<span id="xdx_909_eus-gaap--Revenues_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z0j33MKVubb8" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember" id="Fact001559" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,811,083</ix:nonFraction></span>) to the NCI, of which $<span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zDvjh1dhKFK" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-12-31_custom_ENPInvestmentsLLCMember" id="Fact001561" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,377,088</ix:nonFraction></span> is included
within Accounts Receivable as of December 31, 2024 (2023 &#8211; $<span id="xdx_901_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zFDoodkGNIF9" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember" id="Fact001563" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,225,028</ix:nonFraction></span>).</span></p>

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

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

<ix:exclude><!-- Field: Page; Sequence: 39; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>b<span style="font-variant: small-caps">)
</span></b>317 Mendota is a LLC that owns real estate that the Company occupies part of while renting out the excess. The Company owns
a <span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember_zc8QAk4eiYya" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-12-31_custom_MendotaLLCMember" id="Fact001565" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% interest in 317 Mendota and an unrelated party (&#8220;317 NCI&#8221;) owns the remaining <span id="xdx_901_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20241231__srt--OwnershipAxis__custom--MendotaLLCMember_zbXzrvZjjPT9" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2024-12-31_custom_MendotaLLCMember" id="Fact001567" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% interest in 317 Mendota. For financial
reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The 317 NCI&#8217;s
ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling
interest represents 317 NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated to the TPA segment as
that is the intended use of the building.</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001569" name="FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock"><p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_z7uko9EpX0P9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z2ONKTcO2qT7" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVHkHGhGXHd" title="Non-controlling interests, beginning balance" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1571">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcrPXouzWZ79" title="Non-controlling interests, Acquisition" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001573" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of loss</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zOZCt3oJNq3k" title="Non-controlling interest share of loss" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001575" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,483</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z10GCwtAHhvj" title="Non-controlling interests, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001577" format="ixt:numdotdecimal" decimals="0" unitRef="USD">164,517</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of loss</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zEnacAcrKOr9" title="Non-controlling interest share of loss" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" contextRef="From2024-01-012024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001579" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,977</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zsv2bpViMjDa" title="Non-controlling interests, Ending balance" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001581" format="ixt:numdotdecimal" decimals="0" unitRef="USD">63,540</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001583" name="us-gaap:SegmentReportingDisclosureTextBlock"><p id="xdx_801_eus-gaap--SegmentReportingDisclosureTextBlock_zR1rWCyqjtOb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_820_zcpDWi9DbpV5">SEGMENT<span style="font-variant: small-caps">S AND </span> SIGNIFICANT <span style="font-variant: small-caps">CONCENTRATIONS</span></span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in <span id="xdx_90A_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20240101__20241231_zAMpQW29CPah" title="Number of operating segments"><ix:nonFraction name="us-gaap:NumberOfOperatingSegments" contextRef="From2024-01-01to2024-12-31" id="Fact001585" format="ixt-sec:numwordsen" decimals="INF" unitRef="Segments">two</ix:nonFraction></span> segments:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also manufactures food grade products that are made and sold by the TPA division.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies. The economic factors that impact the
nature, amount, timing, and uncertainty of revenue and cash flows vary among the Company&#8217;s operating segments and the geographical
regions in which they operate. This operating segment structure is used by the Chief Operating Decision Maker (&#8220;CODM&#8221;), who
has been determined to be the Chief Executive Officer, to make key operating decisions and assess performance of the Company. The CODM
evaluates segment operating performance, and makes resource allocation and performance evaluation decisions, based on gross profit and
net operating income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2024:</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001587" name="us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock"><p id="xdx_898_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zmy4jqovwS8f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zszJQyAViofa" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20241231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zPx3sv107y2j" style="border-bottom: Black 1pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20240101__20241231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGUWGxUWlYg" style="border-bottom: Black 1pt solid; text-align: center">BPCA</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20240101__20241231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zm0bOSYp2ga" style="border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
    <sup id="xdx_F5A_zu1sYbQTque">(1)</sup></span></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20240101__20241231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJtHMf6mxvt8" style="border-bottom: Black 1pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zN8krYuJTFoj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001589" format="ixt:numdotdecimal" decimals="0" unitRef="USD">759,549</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001590" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,475,311</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1591">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001592" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,234,860</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--CostOfGoodsAndServicesSold_zNoh9eaSjFjb" style="vertical-align: bottom; background-color: White">
    <td>Cost of sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001594" format="ixt:numdotdecimal" decimals="0" unitRef="USD">350,345</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001595" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,644,616</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1596">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001597" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,994,961</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--GrossProfit_zX2tyeeh2Crk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001599" format="ixt:numdotdecimal" decimals="0" unitRef="USD">409,204</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001600" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,830,695</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1601">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001602" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,239,899</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--SalariesWagesAndOfficersCompensation_z5wiISVx1A22" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Wages and administrative salaries</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001604" format="ixt:numdotdecimal" decimals="0" unitRef="USD">90,043</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001605" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,653,182</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1606">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001607" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,743,225</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherGeneralExpense_zIPquFwNN2B" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office &amp; Miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001609" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,327</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001610" format="ixt:numdotdecimal" decimals="0" unitRef="USD">759,410</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001611" format="ixt:numdotdecimal" decimals="0" unitRef="USD">570</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001612" format="ixt:numdotdecimal" decimals="0" unitRef="USD">805,307</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--SegmentReportingOtherItemAmount_z7OH9jjs0n33" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment items <sup id="xdx_F46_zaLbFgnXlaQe">(2)</sup></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001614" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,056</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001615" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,699,196</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001616" format="ixt:numdotdecimal" decimals="0" unitRef="USD">419,709</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001617" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,175,961</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingIncomeLoss_zB6HK3EhPQ81" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001619" format="ixt:numdotdecimal" decimals="0" unitRef="USD">216,778</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001620" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,718,907</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001621" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">420,279</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001622" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,515,406</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InterestExpenseOperating_zHY2fv8jApFd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001624" format="ixt:numdotdecimal" decimals="0" unitRef="USD">309</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001625" format="ixt:numdotdecimal" decimals="0" unitRef="USD">609,956</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1626">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001627" format="ixt:numdotdecimal" decimals="0" unitRef="USD">610,265</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zIpsk9ChtWr3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Depreciation and amortization (included in COGS)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001629" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,298</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001630" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,942,178</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1631">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001632" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,957,476</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z8jP9HYAi26" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capital expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1634">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001635" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,964,736</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1636">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-12-31_custom_SegmentMember" id="Fact001637" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,964,736</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Assets_iE_zCAjf0hgiqRf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assets <sup id="xdx_F43_zP7K1iJhSp9f">(3)</sup></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001639" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,588,731</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001640" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,415,104</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001641" format="ixt:numdotdecimal" decimals="0" unitRef="USD">964,744</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-12-31_custom_SegmentMember" id="Fact001642" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,968,579</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2023:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_497_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zzDuCnEh0n27" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">EWCP</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_498_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z05E34IwMeAg" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">BPCA</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49D_20230101__20231231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zxRwroPJsks9" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
    <sup id="xdx_F5F_zQwKUFmAg8w3">(1)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_499_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zx4JjkW49IJf" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zWxDumrJJQbd" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 36%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001644" format="ixt:numdotdecimal" decimals="0" unitRef="USD">572,845</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001645" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,751,961</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1646">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001647" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,324,806</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--CostOfGoodsAndServicesSold_zwTqRvuIL6w3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost of sales</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001649" format="ixt:numdotdecimal" decimals="0" unitRef="USD">359,429</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001650" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,522,292</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1651">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001652" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,881,721</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--GrossProfit_zRrx541S8Bcb" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross profit</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001654" format="ixt:numdotdecimal" decimals="0" unitRef="USD">213,416</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001655" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,229,669</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1656">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001657" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,443,085</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_405_eus-gaap--SalariesWagesAndOfficersCompensation_z3lbG84udN3f" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Wages and
    administrative salaries</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001659" format="ixt:numdotdecimal" decimals="0" unitRef="USD">92,302</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001660" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,772,359</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1661">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SalariesWagesAndOfficersCompensation" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001662" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,864,661</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--OtherGeneralExpense_zOFLqNxD4xl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office &amp;
    Miscellaneous</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001664" format="ixt:numdotdecimal" decimals="0" unitRef="USD">46,968</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001665" format="ixt:numdotdecimal" decimals="0" unitRef="USD">465,535</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001666" format="ixt:numdotdecimal" decimals="0" unitRef="USD">393</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001667" format="ixt:numdotdecimal" decimals="0" unitRef="USD">512,896</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--SegmentReportingOtherItemAmount_z0kplWjdm6lh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment
    items <sup id="xdx_F47_zbKPvL7nem2i">(2)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001669" format="ixt:numdotdecimal" decimals="0" unitRef="USD">79,809</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001670" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,109,582</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001671" format="ixt:numdotdecimal" decimals="0" unitRef="USD">376,581</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SegmentReportingOtherItemAmount" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001672" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,565,972</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--OperatingIncomeLoss_zlsVM7BPFag8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net operating
    income</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001674" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5,663</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001675" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,885,680</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001676" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">376,975</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001677" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,503,042</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--InterestExpenseOperating_zY5zMQ54l9I9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001679" format="ixt:numdotdecimal" decimals="0" unitRef="USD">387</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001680" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,279</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1681">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InterestExpenseOperating" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001682" format="ixt:numdotdecimal" decimals="0" unitRef="USD">498,666</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zHZmXc2T9cX2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Depreciation
    (included in COGS)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001684" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,411</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001685" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,668,908</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1686">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001687" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,686,319</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zNLgzZZj2Qfl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Capital expenditures</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1689">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001690" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,990,675</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1691">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-12-31_custom_SegmentMember" id="Fact001692" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,990,675</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--Assets_iE_zsPB8qktVkq8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assets <sup id="xdx_F4E_zZOu9ypj6VAa">(3)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31_custom_EWCPMember_custom_SegmentMember" id="Fact001694" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,889,596</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31_custom_BCPAMember_custom_SegmentMember" id="Fact001695" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,627,932</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31_custom_OtherMember_custom_SegmentMember" id="Fact001696" format="ixt:numdotdecimal" decimals="0" unitRef="USD">953,527</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31_custom_SegmentMember" id="Fact001697" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>


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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F08_zyDNgBbwaffk">(1)</sup></span></td><td style="width: 5pt"/><td style="text-align: justify"><span id="xdx_F13_z9Ay3peHObbi" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:footnote id="Footnote001698" xml:lang="en-US">Other is not considered
an operating segment and includes expenses and income not identifiable to an operating segment and is not included in operating segment
results</ix:footnote></span></td>
</tr></table>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F08_zhTCQ3asN9u">(2)</sup></span></td><td style="width: 5pt"/><td style="text-align: justify"><span id="xdx_F15_zBz1qwXe3gFd" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:footnote id="Footnote001699" xml:lang="en-US">Other segment items
for each reportable segment includes insurance,  consulting, research, and professional fees.</ix:footnote></span></td>
</tr></table>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F05_zHBcpUKmu8G5">(3)</sup></span></td><td style="width: 5pt"/><td style="text-align: justify"><span id="xdx_F16_zo5NHbXJFt4c" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:footnote id="Footnote001700" xml:lang="en-US">Segment
                                                                                                                                                                                                     assets include cash, term deposits, accounts receivable, inventory, prepaid expenses, property, equipment and leaseholds, right of
                                                                                                                                                                                                     use assets, security deposits, intangible assets, and goodwill.</ix:footnote></span></td>
</tr></table>

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

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

<ix:exclude><!-- Field: Page; Sequence: 40; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001702" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"><p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zTgqT9iFNHib" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zezhQPSplhuk" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240101__20241231_zXtZjuchs647" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20231231_zmTQ469BQLp2" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zF15a979qKe2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_country_CA" id="Fact001704" format="ixt:numdotdecimal" decimals="0" unitRef="USD">400,693</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_country_CA" id="Fact001705" format="ixt:numdotdecimal" decimals="0" unitRef="USD">755,844</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zlvJnjYvKtGk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">United States and abroad</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-12-31_custom_UnitedStatesandAbroadMember" id="Fact001707" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,834,167</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember" id="Fact001708" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,568,962</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zzLforfA036l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-12-31" id="Fact001710" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,234,860</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31" id="Fact001711" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,324,806</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


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

<ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001713" name="us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"><p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zRwap87N8RKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_z5VPPeL5fmf8" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zVt06JbFngZ3" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20231231_zeTPiDme4hta" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zdB01Z07JaLe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2024-12-31_country_CA" id="Fact001715" format="ixt:numdotdecimal" decimals="0" unitRef="USD">116,496</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31_country_CA" id="Fact001716" format="ixt:numdotdecimal" decimals="0" unitRef="USD">142,577</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zTmDMoVTlsG7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">United States</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2024-12-31_country_US" id="Fact001718" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,683,963</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31_country_US" id="Fact001719" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,958,778</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_z3z9mOV1GWMj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2024-12-31" id="Fact001721" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,800,459</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31" id="Fact001722" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,101,355</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
customers accounted for $<span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20241231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zshwHaXyMP43" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001724" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,779,311</ix:nonFraction></span> (<span id="xdx_907_eus-gaap--FinancingReceivablePercentPastDue1_iI_pid_dp_uPure_c20241231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zsfMmUdieLSb" title="Sale percentage"><ix:nonFraction name="us-gaap:FinancingReceivablePercentPastDue1" contextRef="AsOf2024-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001726" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">54</ix:nonFraction></span>%) of sales made in 2024 (2023 - $<span id="xdx_907_eus-gaap--AccountsReceivableNet_iI_c20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zfXHOl6I5PU3" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001728" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,482,798</ix:nonFraction></span> or <span id="xdx_900_eus-gaap--FinancingReceivablePercentPastDue1_iI_pid_dp_uPure_c20231231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zqSg5IjX3A3d" title="Sale percentage"><ix:nonFraction name="us-gaap:FinancingReceivablePercentPastDue1" contextRef="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001730" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></span>%).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-12-31" escape="true" id="Fact001732" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_zYmU4o0bgHjb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>18.
<span id="xdx_82C_zII4kk44bA34">SUBSEQUENT EVENTS</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the three months ended March 31, 2025, the Company issued <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20250101__20250331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_ztyLit6w5nB4" title="Stock option issued upon exercise"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2025-01-012025-03-31_us-gaap_SubsequentEventMember" id="Fact001734" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">67,000</ix:nonFraction></span>
shares to employees and <span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20250101__20250331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z9JKqhQ39JRg" title="Exercise of employee stock options"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2025-01-012025-03-31_us-gaap_SubsequentEventMember" id="Fact001736" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">65,000</ix:nonFraction></span>
shares to consultants upon the exercise of stock options.</span></p>

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

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

<!-- Field: Page; Sequence: 41; Value: 1 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    9.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Changes
    in and Disagreements with Accountants on Accounting and Financial Disclosure.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: -0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    9A.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Controls
    and Procedures.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
maintain disclosure controls and procedures that are designed to ensure that information required to be disclosed in our periodic reports
to the SEC is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules and regulations,
and that such information 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 disclosure controls and procedures are
designed to provide a reasonable level of assurance of reaching our desired disclosure control objectives.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of the end of the period covered by this Annual Report on Form 10-K for the year ended December 31, 2024 we carried out an evaluation,
under the supervision and with the participation of management, including our principal executive officer and principal financial officer,
of the effectiveness of the design and operation of our disclosure controls and procedures (as defined under Rules 13a-15(e) and 15d-15(e)
under the Securities Exchange Act of 1934, as amended). Based upon that evaluation, our principal executive officer and principal financial
officer concluded that our disclosure controls and procedures are effective.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management is responsible for establishing and maintaining adequate internal control over financial reporting and for the assessment
of the effectiveness of internal control over financial reporting. As defined by the Securities and Exchange Commission, internal control
over financial reporting is a process designed by, or under the supervision of our principal executive officer and principal financial
officer and implemented by our Board of Directors, management and other personnel, to provide reasonable assurance regarding the reliability
of financial reporting and the preparation of our financial statements in accordance with U.S. generally accepted accounting principles.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that,
in reasonable detail, accurately and fairly reflect our transactions and dispositions of our assets; (2) provide reasonable assurance
that transactions are recorded as necessary to permit preparation of our financial statements in accordance with U.S. generally accepted
accounting principles, and that our receipts and expenditures are being made only in accordance with authorizations of our management
and directors; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition
of our assets that could have a material effect on the financial statements.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the preparation of our annual financial statements, management has undertaken an assessment of the effectiveness of our
internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control - Integrated Framework
issued by the Committee of Sponsoring Organizations of the Treadway Commission, or the 2013 COSO Framework. Management&#8217;s assessment
included an evaluation of the design of our internal control over financial reporting and testing of the operational effectiveness of
those controls.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
this assessment, management identified material weaknesses in our internal control over financial reporting (&#8220;ICFR&#8221;)
related to a material adjustment identified during the audit process indicating that controls over the financial statement close and
review process were not operating effectively to prevent or detect misstatements on a timely basis. A material
weakness is a deficiency, or a combination of deficiencies, in ICFR, such that there is a reasonable possibility that a material
misstatement of the Company&#8217;s financial statements will not be prevented or detected on a timely basis. Because of the
material weaknesses described above, management has concluded that our ICFR was&#160;not effective as of December 31,
2024. In 2025, we have implemented new procedures to improve our financial statement close and review
process.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
was no change in our internal control over financial reporting that occurred during the quarterly period ending December 31, 2024 that
has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</span></p>

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


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

<!-- Field: Page; Sequence: 42; Options: NewSection; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    9B.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Other
    Information.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None
of our directors or officers <span id="xdx_903_eecd--Rule10b51ArrAdoptedFlag_dbF_c20241001__20241231_zPIQOvgSuab7"><span id="xdx_90A_eecd--NonRule10b51ArrAdoptedFlag_dbF_c20241001__20241231_zJa5qHCXMayf"><ix:nonNumeric contextRef="From2024-10-012024-12-31" format="ixt:booleanfalse" id="Fact001737" name="ecd:Rule10b51ArrAdoptedFlag"><ix:nonNumeric contextRef="From2024-10-012024-12-31" format="ixt:booleanfalse" id="Fact001738" name="ecd:NonRule10b51ArrAdoptedFlag">adopted</ix:nonNumeric></ix:nonNumeric></span></span> or <span id="xdx_90A_eecd--Rule10b51ArrTrmntdFlag_dbF_c20241001__20241231_zIYMoH53RAC4"><span id="xdx_90E_eecd--NonRule10b51ArrTrmntdFlag_dbF_c20241001__20241231_zYvsGGW33Pcg"><ix:nonNumeric contextRef="From2024-10-012024-12-31" format="ixt:booleanfalse" id="Fact001739" name="ecd:Rule10b51ArrTrmntdFlag"><ix:nonNumeric contextRef="From2024-10-012024-12-31" format="ixt:booleanfalse" id="Fact001740" name="ecd:NonRule10b51ArrTrmntdFlag">terminated</ix:nonNumeric></ix:nonNumeric></span></span> a Rule 10b5-1 trading arrangement or a non-Rule 10b5-1 trading arrangement (as defined
in Item 408(c) of Regulation S-K) during the quarterly period ending December 31, 2024.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    9C.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disclosures
    Regarding Foreign Jurisdictions That Prevent Inspections. </b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    10.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Directors,
    Executive Officers and Corporate Governance.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: -45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 93%; border-collapse: collapse; margin-left: 0.5in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 30%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Age</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 56%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Position</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">68</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President,
    Chief Executive Officer, Principal Financial and Accounting Officer and a Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    H. Bientjes</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">72</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    Helina</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">59</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tom
    Fyles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">73</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
    Seaman</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">44</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
    Fynn</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">67</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
B. O&#8217;Brien has served as our President, Chief Executive Officer and Principal Financial and Accounting Officer, as well as a director
since June 1998. He has been involved in the swimming pool industry since 1990, when he founded our subsidiary, Flexible Solutions Ltd.
From 1990 to 1998 Mr. O&#8217;Brien was also a teacher at Brentwood College where he was in charge of outdoor education.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
H. Bientjes has been a director since 2000. From 1984 to 2018, Mr. Bientjes served as the manager of the Commercial Aquatic Supplies
Division of D.B. Perks &amp; Associates, Ltd., located in Vancouver, British Columbia, a company that markets supplies and equipment
to commercial swimming pools which are primarily owned by municipalities. Mr. Bientjes retired in 2018. Mr. Bientjes graduated in 1976
from Simon Fraser University in Vancouver, British Columbia with a Bachelor of Arts Degree in Economics and Commerce.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
T. Helina has been a director since 2011. Mr. Helina has been involved in the financial services industry for over 35 years which has
given him extensive knowledge in business, economics and finance. His specialty is in Corporate Finance and Capital Markets. Mr. Helina
holds a Bachelor of Arts degree from Trinity Western University.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Thomas
M. Fyles has been a director since 2012. Dr. Fyles holds chemistry degrees from the University of Victoria (B.Sc. 1974) and York University
(Ph.D. 1977). Following postdoctoral work in France, he joined the Chemistry Department at the University of Victoria in 1979 where he
progressed through the academic ranks to Professor (1992) , Chair (2001 &#8211; 2006; 2008), and, on his retirement, Professor Emeritus
(2017). His research program spanned analytical, synthetic, and physical chemistry with an emphasis on sensors, membranes, and water
treatment processes.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
Seaman has been a director of the Company since October 2016. Mr. Seaman has been the CEO of Eartheasy.com Sustainable Living Ltd since
2007, an international ecommerce and wholesale distribution business. His company has contributed over $1M towards clean water projects
in Kenya since 2013, has been recognized internationally by the Stockholm Challenge Award, and the Outdoor Industry Inspiration Award
in 2016. Prior to that, he worked in sales and investor relations at Flexible Solutions. Mr. Seaman graduated from the University of
Victoria with a Bachelor of Science degree in 2004. He has significant experience in launching new products, marketing, distribution
and e-commerce in both the US and Canada. He&#8217;s a strong believer in the triple bottom line approach to business, giving consideration
to social and environmental issues in addition to financial performance.</span></p>

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


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

<!-- Field: Page; Sequence: 43; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
Fynn has been a director since 2016. Mr. David Fynn is a Canadian Chartered Professional Accountant and services individuals/companies
in many sectors including mining and commodities in his private practice. Mr. Fynn worked as a senior manager with KPMG in Canada and
Ernst &amp; Young in the United Kingdom and Saudi Arabia. Since 1996 he has been the principal of D.A. Fynn &amp; Associates Inc., an
accounting firm.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Directors
are elected annually and hold office until the next annual meeting of our stockholders and until their successors are elected and qualified.
All executive offices are chosen by the board of directors and serve at the board&#8217;s discretion.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
Bientjes, Thomas Fyles, Ben Seaman and David Fynn are independent directors as that term is defined in section 803 of the listing standards
of the NYSE American.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Audit Committee, consisting of John Bientjes, Ben Seaman and David Fynn all of whom have strong financial backgrounds, facilitates and
maintains open communications with our board of directors, senior management and our independent auditors. Our Audit Committee also serves
as an independent and objective party which monitors our financial reporting process and internal control system. In addition, our Audit
Committee reviews and appraises the efforts of our independent auditors. Our Audit Committee meets periodically with management and our
independent auditors. John Bientjes and David Fynn meet the SEC&#8217;s definition of an audit committee financial expert. Each member
of the Audit Committee is &#8220;independent&#8221; as that term is defined in Section 803 of the listing standards of the NYSE American.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Compensation Committee, consisting of John Bientjes, Ben Seaman and David Fynn, establishes salary, incentive and other forms of compensation
for our Chief Executive Officer and administers our Stock Option Plan. None of our officers participated in deliberations of the compensation
committee concerning executive officer compensation. During the year ended December 31, 2024 none of our executive officers served as
a member of the compensation committee or as a director of another entity, one of whose executive officers served on our compensation
committee or as one of our directors.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have adopted a Code of Ethics that applies to our Chief Executive Officer, our Chief Financial Officer and our Principal Accounting Officer,
as well as our other senior management and financial staff. Interested persons may obtain a copy of our Code of Ethics from our website
at www.flexiblesolutions.com.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe our directors benefit us for the following reasons:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 93%; border-collapse: collapse; margin-left: 0.5in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 66%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reason</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long
    standing relationship with us.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    J. Bientjes</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long
    standing relationship with us.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    Helina</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Corporate
    finance experience.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dr.
    Thomas Fyles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Scientific
    expertise.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
    Seaman</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Younger
    generation businessman increases our awareness of internet sales and adds value to our audit and compensation committees</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
    Fynn</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Experienced
    accountant adds value to our audit and compensation committees</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

<!-- Field: Page; Sequence: 44; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    11.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Executive
    Compensation.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Summary
Compensation Table</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table shows in summary form the compensation earned by (i) our Chief Executive Officer and (ii) by each other executive officer
who earned in excess of $100,000 during the two fiscal years ended December 31, 2024.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid">Name and Principal Position</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Fiscal Year</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Salary (1)</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Bonus (2)</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Restricted Stock Awards (3)</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Options Awards (4)</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">All Other Annual Compensation (5)</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Total</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%; text-align: left">Daniel B. O&#8217;Brien</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">2024</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">600,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">316,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">916,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">President, Chief Executive Financial and Accounting Officer</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2023</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">785,368</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(660,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">125,368</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    dollar value of base salary (cash and non-cash) earned.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    dollar value of bonus (cash and non-cash) earned.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
    the periods covered by the table, the value of the shares of restricted stock issued as compensation for services to the persons
    listed in the table.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    value of all stock options granted during the periods covered by the table. The options granted to Daniel O&#8217;Brien in 2022 were
    cancelled in 2023.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    other compensation received that we could not properly report in any other column of the table.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2012, the Company determined that Daniel B. O&#8217;Brien, the Company&#8217;s President and Chief Executive
Officer, was underpaid. Accordingly, the Company increased Mr. O&#8217;Brien&#8217;s annual salary to twice that which was paid to the
highest paid employee of the Company. Mr. O&#8217;Brien requested his salary be dropped by $100,000/year during 2019 and the Compensation
committee agreed.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the fall of 2023, Daniel O&#8217;Brien, CEO, relocated to Grand Cayman in order to help with international sales. He requested that his
salary be reduced to a flat $600,000 per year with annual increases at the same rate as other employees receive. The compensation committee
agreed and granted Mr. O&#8217;Brien&#8217;s request.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Non-Qualified
Stock Option Plan</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
August 2014 we adopted a Non-Qualified Stock Option Plan which authorizes the issuance of up to 1,500,000 shares of our common stock
to persons that exercise options granted pursuant to the Plan. Our employees, directors and officers, and consultants or advisors are
eligible to be granted options pursuant to the Non-Qualified Plan.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Plan is administered by our Compensation Committee. The Committee is vested with the authority to determine the number of shares issuable
upon the exercise of the options, the exercise price and expiration date of the options, and when, and upon what conditions options granted
under the Plan will vest or otherwise be subject to forfeiture and cancellation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the fiscal year ended December 31, 2024 we issued nil options pursuant to the Non-Qualified Plan (2023 &#8211; nil).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2024, options to purchase 233,000 shares of our common stock were outstanding under our Non-Qualified Stock Option Plan.
The exercise price of these options varies between $2.44 and $3.61 per share and the options expire at various dates between on December
31, 2024 and December 31, 2026.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Stock
Option Plans</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022 we adopted a Stock Incentive Plan which authorizes the issuance of up to 1,500,000 shares of our common stock to persons that exercise
options granted pursuant to the Plan. We have amended the plan in 2025 for issuance up to 2,500,000 shares of our common stock to pursuant
to the Plan. Our employees, directors and officers, and consultants or advisors are eligible to be granted options pursuant to the Stock
Incentive Plan.</span></p>

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


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

<!-- Field: Page; Sequence: 45; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Plan is administered by our Compensation Committee. The Committee is vested with the authority to determine the number of shares issuable
upon the exercise of the options, the exercise price and expiration date of the options, and when, and upon what conditions options granted
under the Plan will vest or otherwise be subject to forfeiture and cancellation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the fiscal year ended December 31, 2024 we issued 1,081,000 options pursuant to the Stock Incentive Plan (2023 &#8211; nil).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2024, options to purchase 1,607,000 shares of our common stock were outstanding under our Stock Incentive Plan. The exercise
price of these options varies between $2.00 and $4.05 and the options expire at various dates between December 31, 2027 and December
31, 2029.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table shows the weighted average exercise price of the outstanding options granted pursuant to both our Non-Qualified Stock
Option Plan and Stock Incentive Plan as of December 31, 2024, our most recently completed fiscal year.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; text-align: center">Plan Category</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Number of Securities<br/> to be Issued Upon<br/> Exercise
    of<br/> Outstanding Options,<br/> Warrants and Rights</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Weighted-Average<br/> Exercise Price of<br/> Outstanding
    Options,<br/> Warrants and Rights</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Number of Securities<br/> Remaining Available for<br/> Future
    Issuance Under<br/> Equity Compensation<br/> Plans (Excluding<br/> Securities Reflected<br/> in Column (a))</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">(a)</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">(b)</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">(c)</td><td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Non-Qualified Stock Option Plan</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">233,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3.04</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">57,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Stock Incentive Plan</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,607,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2.63</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">457,000</td><td style="text-align: left">&#160;</td></tr>
  </table>


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Both
our Non-Qualified Stock Option Plan and Stock Incentive Plan have been approved by our shareholders.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No
options were exercised by our executive officers during the fiscal year ended December 31, 2024.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
reimburse directors for any expenses incurred in attending board meetings. We also compensate directors $6,000 annually for each year
that they serve with an additional $4,000 paid to the head of the Audit Committee -</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
directors received the following compensation in 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid">Name</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Paid in Cash</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Stock Awards (1)</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Option Awards (2)</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">John H. Bientjes</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">10,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">&#8212;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Robert Helina</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Tom Fyles</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Ben Seaman</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">David Fynn</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td></tr>
  </table>


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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    fair value of stock issued for services computed in accordance with ASC 718 on the date of grant.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    fair value of options granted computed in accordance with ASC 718 on the date of grant.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
B. O&#8217;Brien was not compensated for serving as a director during 2024.</span></p>

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


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

<!-- Field: Page; Sequence: 46; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Insider
Trading Arrangements and Policies</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are committed to promoting high standards of ethical business conduct and compliance with applicable laws, rules and regulations. As
part of this commitment, we have adopted our Insider Trading Policy governing the purchase, sale, and/or other dispositions of our securities
by our directors, officers, employees and others that we believe is reasonably designed to promote compliance with insider trading laws,
rules and regulations. A copy of our Insider Trading Policy is filed as Exhibit 19 to this Annual Report on Form 10-K.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    12.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Security
    Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table shows the beneficial ownership of our common stock as of March 31, 2025 by (i) each stockholder who is known by us to
own beneficially more than five percent of our outstanding common stock, (ii) each of our officers and directors, and (iii) by all of
our executive officers and directors as a group.</span></p>

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



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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Shares (1)</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Percentage Ownership</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Daniel B. O&#8217;Brien</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">4,430,156</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">35.0</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>6001 54 Ave.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Taber, AB</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada T1G 1X4</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">John Bientjes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">46081 Greenwood Dr.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Chilliwack, BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V2R 4C9</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Robert Helina</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">35,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.3</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>6001 54 Ave.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Taber, AB</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada T1G 1X4</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Dr. Thomas Fyles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Box 3065</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Victoria, BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V8W 3V6</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Ben Seaman</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Unit 605 5 E. Cordova St.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Vancouver BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V6A 0A5</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">David Fynn</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">202-2526 Yale Court,</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Abbotsford, BC</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada V2S 8G9</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">All officers and directors</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">as a group (6 persons)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,485,156</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">35.5</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; text-align: left">Other Principal Shareholders</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Comprehensive Financial Planning, Inc.</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,258,521</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10.0</td><td style="text-align: left">%</td></tr>
  </table>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes
    shares which may be acquired on the exercise of the stock options, all of which were exercisable as of March 31, 2025, listed below.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<!-- Field: Page; Sequence: 47; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid">Name</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">No. of Options</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Exercise Price</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">Expiration Date</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 42%; text-align: left">Daniel B. O&#8217;Brien</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">160,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2.00</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 16%; text-align: center">December 31, 2028</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Robert Helina</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2.44</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2025</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.61</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2026</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2027</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3.55</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2027</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">December 31, 2028</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">July 1, 2029</td></tr>
  </table>



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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    13.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Certain
    Relationships and Related Transactions, Director Independence.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    14.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Principal
    Accountant Fees and Services.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assure
CPA, LLC audited our consolidated financial statements for the year ended December 31, 2024. Smythe LLP examined our consolidated financial
statements for the year ended December 31, 2023.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assure
CPA, LLC was paid $5,475 in the fiscal year ended December 31, 2024 for professional services rendered in the audit of our financial
statements. Smythe LLP was paid $152,354 in the fiscal year ended December 31, 2024 for professional services rendered in the audit of
our 2023 annual financial statements and for the reviews of the 2024 condensed interim financial statements included in our quarterly
reports on Form 10-Q during that fiscal year. Smythe LLP was paid $127,487 for professional services rendered in the audit of our annual
financial statements and for the reviews of the condensed interim financial statements included in our quarterly reports on Form 10-Q
during fiscal 2023.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smythe
LLP has been retained to file our taxes for the fiscal years ended December 31, 2017 through to December 31, 2023. Smythe LLP was paid
$25,662 in the fiscal year ended December 31, 2024 (2023 &#8211; $14,079) for professional services rendered in preparing our taxes.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">All
Other Fees</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assure
CPA, LLC and Smythe LLP were not paid any other fees for professional services during the fiscal years ended December 31, 2024 and 2023.</span></p>

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

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

<!-- Field: Page; Sequence: 48; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Audit
Committee Pre-Approval Policies</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rules
adopted by the SEC in order to implement requirements of the Sarbanes-Oxley Act of 2002 require public company audit committees to pre-approve
audit and non-audit services. Our Audit Committee has adopted a policy for the pre-approval of all audit, audit-related and tax services,
and permissible non-audit services provided by our independent auditors. The policy provides for an annual review of an audit plan and
budget for the upcoming annual financial statement audit, and entering into an engagement letter with the independent auditors covering
the scope of the audit and the fees to be paid. Our Audit Committee may also from time-to-time review and approve in advance other specific
audit, audit-related, tax or permissible non-audit services. In addition, our Audit Committee may from time-to-time give pre-approval
for audit services, audit-related services, tax services or other non-audit services by setting forth such pre-approved services on a
schedule containing a description of, budget for, and time period for such pre-approved services. The policy requires our Audit Committee
to be informed of each service and the policies do not include any delegation of our Audit Committee&#8217;s responsibilities to management.
Our Audit Committee may delegate pre-approval authority to one or more of its members. The member to whom such authority is delegated
will report any pre-approval decisions to our Audit Committee at its next scheduled meeting.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024 our Audit Committee approved all of the fees paid to Assure CPA, LLC and Smythe LLP. Our Audit Committee
has determined that the rendering of all non-audit services by Assure CPA, LLC and Smythe LLP is compatible with maintaining its independence.</span></p>

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



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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
    15.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibits,
    Financial Statement Schedules.</b></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Number</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Description</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1069394/000149315224012435/form10-k.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Articles of Incorporation of the Registrant. (1)</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1069394/000149315224012435/form10-k.htm" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bylaws of the Registrant. (1)</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex19.htm">Insider Trading Policy and Procedures</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000120095203000085/fs_sbex21.txt" style="-sec-extract: exhibit"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Subsidiaries. (2)</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex23-1.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consent of Independent Accountants.</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex31-1.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Principal Executive Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex31-2.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Principal Financial Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><a href="ex32-1.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certification of Principal Executive and Financial Officer Pursuant to 18 U.S.C. &#167;1350 and &#167;906 of the Sarbanes-Oxley Act of 2002.</span></a></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.INS</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Instance Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Schema Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Definition Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Label Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: -1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Previously
    filed as an exhibit to our Registration Statement on Form 10-SB filed with the Commission on February 22, 2000, and incorporated
    herein by reference.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Previously
    filed as an exhibit to our Registration Statement on Form SB-2 filed with the Commission on January 22, 2003, and incorporated herein
    by reference.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<!-- Field: Page; Sequence: 49; Value: 16 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant caused this report to
be signed on its behalf by the undersigned, thereunto duly authorized.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    31, 2025</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>Flexible
    Solutions International, Inc.</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 5%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 45%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President
    and Chief Executive Officer</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with the Exchange Act, this report has been signed below by the following persons on behalf of the registrant and in the capacities
and on the dates indicated:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 30%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 44%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 24%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-bottom: 1.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President,
Principal Executive Officer,</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-bottom: 1.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; padding-bottom: 1.5pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    31, 2025</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal Financial and Accounting Officer and a Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    John H. Bientjes</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    31, 2025</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">John
    H. Bientjes</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Robert T. Helina</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    31, 2025</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Robert
    T. Helina</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Thomas Fyles</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    31, 2025</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Thomas
    Fyles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Ben Seaman</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    31, 2025</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ben
    Seaman</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    David Fynn</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
    31, 2025</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">David
    Fynn</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<!-- Field: Page; Sequence: 50; Options: Last -->
    <div style="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence --></td></tr></table></div>
    <!-- Field: /Page -->

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





















































































































































































































<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!--   -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-19
<SEQUENCE>2
<FILENAME>ex19.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Flexible
Solutions International, Inc.</B></FONT></P>

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

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>I.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>PURPOSE</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Flexible
Solutions International, Inc. (the &ldquo;Company&rdquo;) has adopted this Insider Trading Policy (this &ldquo;Policy&rdquo;) to help
its directors, officers and employees comply with insider trading laws, to prevent even the appearance of improper insider trading and
to promote compliance with the Company&rsquo;s obligation under Item 408 of Regulation S-K to publicly disclose information related to
its insider trading policies and practices and the use of certain trading arrangements by Company insiders.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>II.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SCOPE</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
    Policy applies to all directors and officers of the Company, the Company&rsquo;s Comptroller and Operations Director and their respective
    family members and others in their households (collectively referred to as &ldquo;Insiders&rdquo;), and any other individuals the
    Compliance Officer (defined below) may designate as Insiders because they have access to material nonpublic information concerning
    the Company.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Except
    as set forth explicitly below, this Policy applies to any and all transactions in the Company&rsquo;s securities, including transactions
    in common stock, options, preferred stock, restricted stock, restricted stock units, and any other type of securities that the Company
    may issue. This Policy applies to such securities regardless of whether they are held in a brokerage account, a 401(k) or similar
    account, through an employee stock purchase plan or otherwise.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>III.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SPECIFIC
    GUIDANCE</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Generally
    Prohibited Activities. The prohibitions below apply to actions an Insider may take directly or indirectly through family members
    or other persons or entities.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 85.5pt; text-align: justify; text-indent: -49.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading
    in Company Securities</U>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 85.5pt; text-align: justify; text-indent: -49.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No Insider may buy, sell,
    donate or otherwise transact in Company securities while aware of material nonpublic information concerning the Company.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>

<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No
    Insider may buy, sell, donate or otherwise transact in Company securities during any special trading blackout 2 period applicable
    to such Insider as designated by the Compliance Officer.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.5in; text-align: justify; text-indent: -1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Tipping</U>. Providing
    material nonpublic information to another person who may trade or advise others to trade on the basis of that information is known
    as &ldquo;tipping&rdquo; and is illegal. Therefore, no Insider may &ldquo;tip&rdquo; or provide material nonpublic information concerning
    the Company to any person other than a director, officer or employee of the Company, unless required as part of that Insider&rsquo;s
    regular duties for the Company and authorized by the Compliance Officer.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Giving Trading Advice</U>.
    No Insider may give trading advice of any kind about the Company to anyone, whether or not such Insider is aware of material nonpublic
    information about the Company, except that Insiders should advise other Insiders not to trade if such trading might violate the law
    or this Policy.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Engaging in Short Sales</U>.
    No Insider may engage in short sales of Company securities. A short sale is the sale of a security that the seller does not own at
    the time of the trade.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Engaging in Derivative
    Transactions</U>. No Insider may engage in transactions in puts, calls or other derivative instruments that relate to or involve
    Company securities. Such transactions are, in effect, bets on short-term movements in the Company&rsquo;s stock price and therefore
    create the appearance that the transaction is based on nonpublic information.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Hedging</U>. No Insider
    may engage in hedging transactions involving Company securities, including forward sale or purchase contracts, equity swaps, collars
    or exchange funds. Such transactions are speculative in nature and therefore create the appearance that the transaction is based
    on nonpublic information.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading on Margin or
    Pledging</U>. No Insider may place the Company&rsquo;s securities as security for a margin account or pledge (or hypothecate) Company
    securities as collateral for a loan. Margin sales or foreclosure sales may occur at a time when the Insider is aware of material
    nonpublic information or otherwise is not permitted to trade in Company securities.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading in Securities
    of Other Companies</U>. No Insider may, while in possession of material nonpublic information about any other public company gained
    in the course of employment with the Company, (a) buy, sell, donate or otherwise transact in the securities of the other public company,
    (b) &ldquo;tip&rdquo; or disclose such material nonpublic 3 information concerning that company to anyone, or (c) give trading advice
    of any kind to anyone concerning the other public company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -0.75in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Additional Restrictions
    Applicable to Insiders, Section 16 Individuals and Key Employees</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No Insider, Section 16
    Individual or Key Employee (each as defined below) may buy, sell, donate or otherwise transact in Company securities outside of the
    Company trading window described in Section V.B below.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">No Insider, Section 16
    Individual or Key Employee may trade in Company securities unless the trade(s) have been approved by the Compliance Officer in accordance
    with the procedures set forth in Section V.C.1 below.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exceptions</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
prohibited activities above do not apply to:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exercises of stock options
    or similar equity awards or the surrender of shares to the Company in payment of the stock option exercise price or in satisfaction
    of any tax withholding obligations, provided that any securities acquired pursuant to such exercise may not be sold, including as
    part of a broker-assisted cashless exercise, while the Insider is in possession of material nonpublic information or subject to a
    special trading blackout or, with respect to Section 16 Individuals and Key Employees, while the Company&rsquo;s trading window is
    closed.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The vesting of restricted
    stock, or the exercise of a tax withhold right pursuant to which an Insider elects to have the Company withhold shares of stock to
    satisfy tax withholding requirements upon the vesting of any restricted stock, provided that any securities acquired pursuant to
    such vesting may not be sold while the Insider is in possession of material nonpublic information or subject to a special trading
    blackout or, with respect to Section 16 Individuals and Key Employees, while the Company&rsquo;s trading window is closed.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Acquisitions or dispositions
    of Company securities under the Company&rsquo;s Equity Incentive Plan or any other individual account that are made pursuant to standing
    instructions entered into while the Insider is not in possession of material nonpublic information or otherwise subject to a special
    trading blackout and, with respect to Section 16 Individuals and Key Employees, while the Company&rsquo;s trading window is open.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 2; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other purchases of securities
    from the Company or sales of securities to the Company that do not involve a market transaction.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Purchases, sales or donations
    made pursuant to a Rule 10b5-1 plan that is adopted and operated in compliance with the terms of this Policy (see Section VII).</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>IV.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>DETERMINING WHETHER
    INFORMATION IS MATERIAL AND NONPUBLIC</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Definition of &ldquo;Material&rdquo;
    Information</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">There is no bright line
    test for determining whether particular information is material. Such a determination depends on the facts and circumstances unique
    to each situation and cannot be made solely based on the potential financial impact of the information.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In general, information
    about the Company should be considered &ldquo;material&rdquo; if:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">A reasonable investor would
    consider the information significant when deciding whether to buy or sell Company securities; or</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The information, if disclosed,
    could be viewed by a reasonable investor as having significantly altered the total mix of information available in the marketplace
    about the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Put
simply, if the information could reasonably be expected to affect the price of the Company&rsquo;s stock, it should be considered material.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">It is important to remember
    that whether information is material will be viewed by enforcement authorities with the benefit of hindsight. In other words, if
    the price of the Company&rsquo;s stock changed as a result of the information having been made public, it will likely be considered
    material by enforcement authorities.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">While it is not possible
    to identify every type of information that could be deemed &ldquo;material,&rdquo; the following matters ordinarily should be considered
    material:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Projections of future earnings
    or losses, or other earnings guidance, or changes in projections or guidance.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial performance,
    especially quarterly and year-end earnings or significant changes in financial performance or liquidity.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Potential significant mergers
    and acquisitions or the sale of significant assets or subsidiaries.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">New major contracts, orders,
    suppliers, customers, or finance sources, or the loss thereof.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Major discoveries or significant
    changes or developments in products or product lines, research or technologies.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant changes or
    developments in supplies or inventory, including significant product defects, recalls or product returns.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock splits, public or
    private securities/debt offerings, or changes in dividend policies or amounts.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant changes in
    senior management.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 3; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Actual or threatened major
    litigation, or the resolution of such litigation.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">An imminent change in the
    Company&rsquo;s credit rating by a rating agency.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The contents of forthcoming
    publications that may affect the market price of Company securities.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant breaches of
    information technology systems or other events impacting cybersecurity.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Definition of &ldquo;Nonpublic&rdquo;
    Information</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Information
is &ldquo;nonpublic&rdquo; if it has not been disseminated to investors through a widely circulated news or wire service (such as Dow
Jones, Bloomberg, PR Newswire, etc.) or through a public filing with the Securities and Exchange Commission (the &ldquo;SEC&rdquo;).
For the purposes of this Policy, information will be not considered public until after the close of trading on the first full trading
day following the Company&rsquo;s widespread public release of the information.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>C.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Consult the Compliance
    Officer for Guidance</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
Insider who is unsure whether the information that he or she possesses is material or nonpublic should consult the Compliance Officer
for guidance before trading in any Company securities.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>V.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>ADDITIONAL PROVISIONS
    FOR SECTION 16 INDIVIDUALS AND KEY EMPLOYEES </B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Definitions of Section
    16 Individuals and Key Employees.</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;Section 16 Individual&rdquo;
    &ndash; Each member of the Company&rsquo;s Board of Directors (&ldquo;Board&rdquo;), those officers of the Company designated by
    the Board as &ldquo;Section 16 officers&rdquo; of the Company, and their respective family members and others in their households.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;Key Employees&rdquo;
    &ndash; Persons designated from time to time by the Compliance Officer or the Board as a Key Employee.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Employees
and other individuals who are recipients of stock option and/or restricted stock unit awards from the Committee that are broad-based
or special awards from the CEO or other authorized officer under a pool of stock options or restricted stock units established by the
Committee shall not be considered Key Employees unless they also meet one or more of the conditions set forth in the preceding two bullets.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>The Trading Window</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading Only While Trading
    Window is Open</U>. Insiders, Section 16 Individuals and Key Employees may buy, sell, donate or otherwise transact in Company securities
    only while the Company&rsquo;s trading window is open. In general, the Company&rsquo;s trading window opens after the close of trading
    on the first full trading day following the Company&rsquo;s public announcement of annual or quarterly earnings, and remains open
    until fifteen trading days prior to the Company&rsquo;s planned public announcement of annual or quarterly earnings.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>No Trading While Aware
    of Material Nonpublic Information</U>. Notwithstanding the provisions of the immediately preceding section, any Insiders, Section
    16 Individual or Key Employee who is in possession of material nonpublic information regarding the Company may not trade in Company
    securities during an open trading window until the close of trading on the first full trading day following the Company&rsquo;s widespread
    public release of such information.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 4; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Exceptions for Hardship
    Cases</U>. The Compliance Officer may, on a case-by-case basis, authorize trading in Company securities outside of the applicable
    trading windows (but not during special trading blackout periods) due to financial hardship or other hardships, but only in accordance
    with the procedures set forth in Section V.C.2 below; provided that no hardship exceptions may be authorized with respect to the
    cooling-off periods set forth in Section VII.B.5.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>C.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Procedures for approving
    trades by Insiders, Section 16 Individuals and Key Employees and Hardship Cases</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Insiders, Section 16
    Individuals and Key Employee Trades</U>. No Insider, Section 16 Individual or Key Employee may trade in Company securities until:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the individual has notified
    the Compliance Officer in writing of the amount and nature of the proposed trade(s);</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the individual has certified
    to the Compliance Officer in writing, no more than three business days prior to the proposed trade(s), that he or she is not aware
    of material nonpublic information regarding the Company; and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the Compliance Officer
    has approved the proposed trade(s).</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.5in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
notice and certification required by this Section V.C.1, and the Compliance Officer&rsquo;s approval thereof, shall be given using the
form attached hereto as Exhibit A. During the approval period identified in the notice and certification, provided that the facts referred
to in Section V.C.1.b remain correct, the Section 16 Individual may execute the trade set forth in such notice and certification. Once
the approval period identified in the notice and certification has expired, a new notice and certification pursuant to this Section V.C.1
must be given in order for the Section 16 Individual to trade in Company securities.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Hardship Trades</U>.
    The Compliance Officer may, on a case-by-case basis, authorize trading in Company securities outside of an applicable trading window
    due to financial hardship or other hardships only after:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the person trading has
    notified the Compliance Officer in writing of the circumstances of the hardship and the amount and nature of the proposed trade(s),
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the person trading has
    certified to the Compliance Officer in writing no earlier than two business days prior to the proposed trade(s) that he or she is
    not aware of material nonpublic information concerning the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.5in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Compliance Officer Trades</U>.
    If the Compliance Officer desires to complete any trades involving Company securities, he or she must first obtain the approval of
    the Chief Executive Officer or the Chief Financial Officer of the Company.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>No Obligation to Approve
    Trades</U>. The existence of the foregoing approval procedures does not in any way obligate the Compliance Officer (or, in the case
    of any trade by the Compliance Officer, the Chief Executive Officer or the Chief Financial Officer of the Company) to approve any
    trades requested by Section 16 Individuals, hardship applicants or the Compliance Officer.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>VI.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>COMPLIANCE OFFICER</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has designated Daniel O&rsquo;Brien as the individual responsible for administration of this Policy (the &ldquo;Compliance Officer&rdquo;).
The duties of the Compliance Officer include the following:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Administering this Policy
    and monitoring and enforcing compliance with this Policy.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 5; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reviewing and either approving
    or denying all proposed trades by Section 16 Individuals in accordance with the procedures set forth in Section V.C.1 above.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">After discussing with the
    blackout assessment team, designating and announcing special trading blackout periods during which certain Insiders may not trade
    in Company securities.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">D.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Providing copies of this
    Policy to all new Section 16 Individuals, Key Employees and Insider.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Compliance Officer may designate one or more individuals who may perform the Compliance Officer&rsquo;s duties in the event that the
Compliance Officer is unable or unavailable to perform such duties.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>VII.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>RULE 10b5-1 TRADING
    PLANS</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>General Information</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
Rule 10b5-1 of the Securities Exchange Act of 1934, as amended, an individual has an affirmative defense against an allegation of insider
trading if he or she demonstrates that the purchase, sale or trade in question took place pursuant to a binding contract, specific instruction
or written plan that was put into place before he or she became aware of material nonpublic information. Such contracts, irrevocable
instructions and plans are commonly referred to as Rule 10b5-1 plans and must satisfy several conditions set forth in Rule 10b5-1.</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rule
10b5-1 plans have the obvious advantage of protecting against insider trading liability. However, they also require advance commitments
regarding the amounts, prices and timing of purchases or sales of Company securities and thus limit flexibility and discretion. In addition,
once a Rule 10b5-1 plan has been adopted, it is generally not permissible to amend or modify such plan without complying with new conditions
and timing limitations set forth in Rule 10b5-1. Accordingly, while some individuals may find Rule 10b5-1 plans attractive, they may
not be suitable for all Insiders.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Specific Requirements</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 72px"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Pre-Approval</U>. For
    a Rule 10b5-1 plan to serve as an adequate defense against an allegation of insider trading, a number of legal requirements must
    be satisfied. Accordingly, anyone wishing to establish a Rule 10b5-1 plan must first receive approval from the Compliance Officer
    or his or her designee. Section 16 Individuals wanting to establish a Rule 10b5-1 plan must also satisfy the notification and certification
    requirements set forth in Section V.C.1 above.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Material Nonpublic Information
    and Special Blackouts</U>. An individual desiring to enter into a Rule 10b5-1 plan must enter into the plan at a time when he or
    she is not aware of any material nonpublic information about the Company or otherwise subject to a special trading blackout</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Trading Window</U>.
    Section 16 Individuals and Key Employees may establish a Rule 10b5-1 plan only when the Company&rsquo;s trading window is open.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Limitations on Number
    of Rule 10b5-1 Plans</U>. An individual may not establish overlapping Rule 10b5-1 plans and must limit the use of single-trade plans
    (i.e., a plan covering a single trading event) to one 10 during any consecutive 12-month period, in each case subject to the accommodations
    set forth in Rule 10b5-1.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><U>Cooling-Off Periods</U>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Section 16 Individuals
    must observe a cooling-off period between the date a Rule 10b5-1 plan is adopted or modified and the date of the first transaction
    under the plan following such adoption or modification equal to the later of (i) 90 days and (ii) 2 business days following the disclosure
    in Forms 10-K or 10-Q of the Company&rsquo;s financial results for the fiscal quarter in which the plan was adopted or modified (but
    not to exceed 120 days following plan adoption or modification).</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All other employees who
    are not subject to Section VII.B.5.a must observe a cooling-off period between the date a Rule 10b5-1 plan is adopted or modified
    and the date of the first transaction under the plan following such adoption or modification equal to at least 30 days.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.25in; text-align: justify; text-indent: -0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 6; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>VIII.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>POST-TERMINATION TRANSACTIONS</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Policy continues to apply to transactions in the Company&rsquo;s securities after termination of service to the Company. If an individual
is in possession of material nonpublic information when his or her service terminates, or if the Company&rsquo;s trading window is closed
at the time of termination, that individual may not trade in the Company&rsquo;s securities until any such material nonpublic information
has become public or is no longer material and/or the Company&rsquo;s trading window has opened. The pre-clearance procedures specified
in Section V.C.1 above, however, will cease to apply to transactions in the Company&rsquo;s securities upon the opening of the Company&rsquo;s
trading window and/or expiration of any special trading blackout period, at which point the provisions set forth in Section V.B.1 above
shall no longer apply. The Compliance Officer and the Company will not be held responsible for actions taken by a terminated employee
after termination has occurred.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>IX.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>POTENTIAL PENALTIES
    AND DISCIPLINARY SANCTIONS </B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify; text-indent: -0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>A.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Civil and Criminal Penalties</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
consequences of prohibited insider trading or tipping can be severe. Persons violating insider trading or tipping rules may be required
to disgorge the profit made or the loss avoided by the trading, pay the loss suffered by the person who purchased securities from or
sold securities to the Insider or tippee, pay significant civil and/or criminal penalties, and serve a lengthy jail term. The Company
in such circumstances may also be required to pay major civil or criminal penalties.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>B.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Company Discipline</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Violation
of this Policy or federal or state insider trading or tipping laws by any Insider may, in the case of a director, subject the director
to dismissal proceedings and, in the case of an officer or employee, subject the officer or employee to disciplinary action by the Company
up to and including termination for cause.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>C.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Reporting of Violations</B>.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.75in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
Insider who violates this Policy or any federal or state law governing insider trading or tipping, or knows of any such violation by
any other Insider, must report the violation immediately to the Compliance Officer. Upon determining that any such violation has occurred,
the Compliance Officer, in consultation with the Company&rsquo;s Board of Directors, will determine whether the Company should release
any material nonpublic information, and, when required by applicable law, shall cause the Company to report the violation to the SEC
or other appropriate governmental authority.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>X.</B></FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>MISCELLANEOUS</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Policy will be delivered to all Section 16 Individuals, Key Employees and Insiders upon its adoption by the Company and to all Section
16 Individuals, Key Employees and Insiders at the start of their employment or relationship with the Company. Upon first receiving a
copy of this Policy or any revised versions, each Section 16 Individual, Key Employee and Insider must sign an acknowledgment that he
or she has received a copy of this Policy and agrees to comply with its terms.</FONT></P>

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


<!-- Field: Page; Sequence: 7; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon
first receiving a copy of the Insider Trading Policy of Flexible Solutions International, Inc. or any revised version thereof, each member
of the Board of Directors, each officer designated under the Policy as a &ldquo;Section 16 Individual&rdquo; and each individual meeting
the definition of a &ldquo;Key Employee&rdquo; must sign and return to the Company&rsquo;s Compliance Officer the following receipt and
acknowledgement.</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
_________________, hereby acknowledge that I have received and read a copy of the Insider Trading Policy of Flexible Solutions International,
Inc. and agree to comply with its terms. I understand that violation of insider trading or tipping laws or regulations may subject me
to severe civil and/or criminal penalties, and that violation of the terms of the above-titled policy may subject me to discipline by
the Company up to and including termination for cause.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    </TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature </FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date </FONT></TD>
    </TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    </TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    </TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Print Name) </FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    </TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 8; Value: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>Flexible
Solutions International, Inc.</B></FONT></P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notice
and Certification for Insiders, Section 16 Individuals and Key Employees</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the Compliance Officer:</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
hereby notify you of my intent to trade in securities of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;). The amount
and nature of the proposed trade is as follows:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exercise_________ non-qualified
    stock options granted under the Company&rsquo;s Equity Incentive Plan on __________;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sell in the open market
    shares of Company Common Stock currently held at (example: Fidelity; another broker; in certificated form);</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Purchase in the open market
    ____ shares of Company Common Stock;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gift shares of Company
    Common Stock to __________;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Adopt a Rule 10b5-1 plan
    to sell shares granted on _____;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other (explain) ______________________________________________________</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
understand that I am not authorized to trade in Company securities or adopt a Rule 10b5-1 plan in reliance upon this Notice and Certification
until the same is approved by the Compliance Officer or his/her designee. I further understand that I am only authorized to complete
my proposed trade or adopt my Rule 10b5-1 plan during the authorization period set forth in the approval below, and that if I have not
completed my proposed trade or adopted my Rule 10b5-1 plan by the last date of the authorization period set forth below, I must submit
a new Notice and Certification in order to trade in Company securities or adopt a plan.</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
agree to notify the Compliance Officer within 24 hours after the execution of any cleared trade in Company securities so that the Company
can provide reasonable assistance, as requested, in connection with the timely filing (if required) of forms required under Section 16
of the Exchange Act. The ultimate responsibility and liability for timely, complete and accurate filing of such forms, however, remains
with the undersigned Section 16 Individual.</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
hereby certify that I am not aware of material nonpublic information concerning the Company. I hereby certify that I am adopting a Rule
10b5-1 plan to sell [______] shares in good faith and not as part of a plan or scheme to evade the prohibitions of Rule 10b5-1, and that
if I adopt a Rule 10b5-1 plan, I will do so during the authorization period and such plan will comply with the conditions set forth in
Rule 10b5-1 of the Securities Exchange Act of 1934, as amended.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 10%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature: </FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 40%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Print Name: </FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
be completed by Compliance Officer or his/her Designee</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 12%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Approved by: </FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 39%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 49%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; width: 34%">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 24%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Authorization Period Begins:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 35%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Authorization Period Ends:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(up to 45 business days
    after period begins)</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 9; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

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

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

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>ex23-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: left"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><IMG SRC="ex23-1_001.jpg" ALT=""></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CONSENT
OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">We have issued our Independent Auditor&rsquo;s Report, dated April 1, 2024,
relating to the consolidated financial statements of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;) for the year ended
December 31, 2023 appearing in the Company&rsquo;s Annual Report on Form 10-K for the year ended December 31, 2024. We hereby consent
to the incorporation by reference of such report in the Company&rsquo;s registration statements on Form S-8 (File No&rsquo;s. 333-270291,
333-205566 and 333-205375).</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><IMG SRC="ex23-1_002.jpg" ALT=""></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chartered
Professional Accountants</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vancouver,
Canada</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 31, 2025</FONT></P>

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

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

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; width: 100%">
<TR STYLE="vertical-align: top; text-align: left">
  <TD STYLE="text-align: left; width: 25%; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">SMYTHE
LLP <B>|</B> <B>smythecpa.com</B></FONT></TD>
    <TD STYLE="width: 1%">&nbsp;</TD>
  <TD STYLE="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>VANCOUVER</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1700&ndash;475
Howe St</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vancouver,
BC V6C 2B3</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">T: 604 687 1231</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">F:
604 688 4675</FONT></P>

</TD>
  <TD STYLE="width: 1%">&nbsp;</TD>
  <TD STYLE="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>LANGLEY</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">600&ndash;19933
88 Ave</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Langley,
BC V2Y 4K5</FONT></P>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">T: 604 282 3600</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">F:
604 357 1376</FONT></P>
</TD>
  <TD STYLE="width: 1%">&nbsp;</TD>
  <TD STYLE="border-left: Black 1pt solid; padding-left: 0.1in; width: 24%"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>NANAIMO</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">201&ndash;1825
Bowen Rd</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Nanaimo, BC V9S 1H1</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">T: 250 755 2111</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">F:
250 984 0886</FONT></P>
</TD></TR>
</TABLE>

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

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

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

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


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>ex31-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

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

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Daniel B. O&rsquo;Brien, certify that:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this annual report on Form 10-K of Flexible Solutions International, Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, this report, does not contain any untrue statement of a material fact or omit to state a material fact necessary
    to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to
    the period covered by the report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material
    respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in
    this report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15e)) and internal control over financial reporting (as defined in Exchange Act
    Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
    within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
    supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
    for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated
    the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about
    the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed
    in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
    most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
    or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
    reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
    fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
    internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 31, 2025</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

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

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

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


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>ex31-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

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

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Daniel B. O&rsquo;Brien, certify that:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this annual report on Form 10-K of Flexible Solutions International, Inc.;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, this report, does not contain any untrue statement of a material fact or omit to state a material fact necessary
    to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to
    the period covered by the report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
    on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material
    respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in
    this report;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures
    (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange
    Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
    within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
    supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
    for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated
    the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about
    the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed
    in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
    most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
    or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over
    financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
    persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
    significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
    reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
    and</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
    fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s
    internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 31, 2025</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

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

<!-- Field: Page; Sequence: 48; Options: Last -->
    <DIV STYLE="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

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

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


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>ex32-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>CertificatION
of Principal Executive Officer<BR>
Pursuant to 18 U.S.C. Section 1350,<BR>
as Adopted Pursuant to Section 906 of</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>the
Sarbanes-Oxley Act of 2002</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Solely
for the purposes of complying with 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, the
undersigned Principal Executive and Financial Officer of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;), hereby certify
that, to the best of my knowledge, the Annual Report on Form 10-K of the Company for the year ended December 31, 2024 (the &ldquo;Report&rdquo;)
fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that the information contained
in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date:
    March 31, 2025</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Executive and Principal Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

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

<!-- Field: Page; Sequence: 48; Options: Last -->
    <DIV STYLE="border-bottom: Black 1pt solid; margin-top: 0pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

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


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>ex23-1_001.jpg
<TEXT>
begin 644 ex23-1_001.jpg
M_]C_X  02D9)1@ ! 0$ 9 !D  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1"  S /H# 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#XO_:'_;2_
M;/T3]H7X_:+H?[8O[6>C:-I'QR^+^E:1H^E?M+_&[3=)TG2]/^(GB2SL-,TS
M3;+QU#9:?I]C:6\5M9V=I##;6UO&D4$,4:B-?(/^&YOVY/\ H]?]L'_Q*/X[
M_P#S?5_5+X!_X-O?AOX\\;?$[XM?M7_&CQ_)KOQ%^*/Q'\?Z;\.O@G<>'-!T
M'PSH?BSQIK>NZ/I7B/QCXJ\+>*M5\4:TFEZA:S:RV@:7X1TW2]3EN-*L+SQ%
M96,?B#5NF^)7_!LC^R)K^CWI^%'QP_:"^&_B66%AI=YXDNO ?Q-\(13;2T<]
MYX<C\*>!O$.H1K@%X+3Q]I(>,,$ECD8R#^Q</XJ>$6#CA,OJX7"U)8?"X/#U
M\;2X/P&(P7UB&%P=*LEB99;#$5DJT:JE6CAIQJ24W!U5*$JG\7U_"WQ>Q<L7
MCZ.+Q-&%?%8W$8?!5N+L9AL8Z$\5C*E*^&^NRH8?FIRI<E*IB8.$9PC/V7+.
M,/Y-/^&YOVY/^CU_VP?_ !*/X[__ #?4?\-S?MR?]'K_ +8/_B4?QW_^;ZM#
M]MG]CWQY^PK^T!KW[/?Q%\6^ /&NOZ3HNB>)[;7/A[J]SJ%C-H'B47LNAC7]
M*O[2SU7P?XHFL[+[;J'A358I;BTL[O3=4L=0UC0=6T;6=2^3J_7L#@N&<SP6
M%S'+\LR#%8''4*>*PF)IY'DZIU\/6CS4ZL%4R2E-*23TG3A)-235U>7Y!C\Q
MXIRS&XK+L?FN?87&X&O4PN+PU3.<T]I0Q%)J-2E/DS:I#FA)I-PJ3B[IJ33/
MJ'_AN;]N3_H]?]L'_P 2C^.__P WU'_#<W[<>#G]M?\ ;"QCM^U'\=\C'<?\
M5\/Y@^AKY>I&Z'Z'^5=<<CR1RBGDF26<X1?_  B9*M)3IQ>JR=-:2>J=UNM4
M<<N(,_49-9[G::A-I_VSFSLXPJ23L\SL[.*=GH[6>C/]'S_@BKXY\<?$G_@F
M;^S3XW^)'C;QC\1?&FN+\8CK7C+Q]XIU_P :^+=9.G?'[XJZ5IYU?Q-XGU#5
M=<U,V&E65CI=B;Z_N#9Z;8V6GVYCM+2WBC_4VOR*_P""$/\ RBE_95_W/C;_
M .M&?%ZOUUK_ #UXQA"GQ=Q33IPA3IPXBSF,*=.$*=.$?[0Q#4*=.E"G3IPC
MS-0ITZ=.G"*C"%.$(QBO]%N#)SJ<(<+5*DYU*D^'LFE.I4G.K4J3> H\TZE2
MI.I4J3DUS3J5*DYSDY2G.<I2DRBOS7_X*3_\%4?V8/\ @E]\-=$\9_'>_P!>
M\0^,_';ZM9_"?X,^ K6RU'XA_$:_T1+,ZQ=V<6IWVF:-X>\(^'6U+2SXG\9>
M(M2L=+TTZA8Z;IZ:UXFU31?#NJ?ROZO_ ,'BGQHE\2&XT']@[X7V/A!9U*:'
MJ_[0/BS5/$\ULA57W>)[+X4Z1I=M//M=U"^$[N&S,BQ,;T0F:?YL^D<DNI_>
M117\V/[ /_!S?^QO^V/X\\!_!/XJ^ ?B%^RQ\<?B5XH\.^!_ VAZVS_%?X7>
M-/&WB_5[+0O#/A'PW\3_  ?HFF:O9:SJNK7L-E!-\0OAO\/] DGN+.WM==NK
MVY%HGJ'_  60_P""X^H?\$F_B3\#_A[9?LKV?[0H^,O@?QAXS;6+GX\3?"$^
M&SX3U[1M$_LU=/B^"OQ3&M"_&KK=?;3?Z2;4P>1]CN1)Y\8%UW7WG[_45_+]
MK/\ P<^?L]>"_P!@WX/?M2?$#X+7^G_M$?'RY^*'_"M/V._!?Q1C\9:H/#?P
MT^*/BWX6R_$7QW\7;SX=>%+#P+\/M8UGPA?PV&IWO@&^\1:OJT>JZ1X)\+>-
MH_"?C'4]!_*_PK_P>'_'6W\7QW?C?]AWX4:IX DN66;1/"7QG\7Z-XRLK.1R
MJR0>)M:\$:[H6KWEC&?.^S2^$]#@U9X_(^V:(L_VJW!<RO:Z];G]Z-%?C_I?
M_!<W_@GGJ'["*_\ !0:[^)VLZ'\(QXGN?AG+X#U3PZ7^-T?QRMM#'B'_ (4+
M%X!TO4-1M[WXESZ/)#K<4MAK]SX#3PC.GQ#N_&UK\.(KOQ=;?S>_$O\ X/#/
MC!=>++IO@S^Q-\.]&\!074J6'_"U?BQXCUOQIJ]@DS&"\U"#P;X=T7P_X5O[
MBWQ]HTBTOO&MM83Y$6OZI&FY@')+K]VI_>%17\]'_!)[_@X4^ '_  4A\:VO
MP \<_#^__9K_ &H=0L-0U#PCX$U'Q5%XY\ _%FTT/2[W5M>C^&WCT:)X7OO^
M$KT;1]+U#Q)K'@+Q1X8T?4(?#R3:AX5UOQU::%XMO?#WR-^WW_P<T_%+]@?]
MK?XV_LI^,O\ @G)I?BB^^%>O6J>&?&9_; N_#EM\1? GB+1K#Q-X%\<6FCK^
MRKXBAT;_ (2'P_JEI_:FBP:_X@C\->)+;7/#,NLZC=:)<W+@[IJ]]#^M"BO%
M?V;_ (Y^$OVF_P!G_P""_P"T1X$=3X0^-GPQ\$_$W0H!=17DVFV?C+P]8:XV
MBW\\21 :MH-Q>3:+K-O)!;7%GJMA>6EU:VUS!+!'TOQ@^*?A#X&_";XG_&KX
M@W[:7X#^$7P^\9?$WQIJ21M-)8^%/ GAW4?%'B"ZB@7YYYH-*TN[DA@3+S2J
MD2 NX!!GHM?QR?\ !V7^T3^T1\ KC]@$? /]H3X\_ ?_ (2U?VK#XM_X4A\9
MOB5\(CXK_L!?V;/[!_X2<_#SQ/X<_P"$A&A?VUK/]BC6/MO]D_VQJO\ 9_V?
M^TKWS^__ &#/^#G3XH?MY?M9_ C]E3P9_P $X]*\+ZI\8/$YL]=\62?MAW6O
M0_#[P/H6BZCXM^(/C:YT=OV5=!@UJ7PKX0T36;[2]!GU_P /1^*?$$>D>%H=
M<TJ[URVNXOY\/^"_7_!5WPK_ ,%)_C=X/^'O@#X70>%?A]^QW\1_VD? W@SX
MKP?$4>+XOCWHGBS7OAYH$/CJR\+IX&\-Q^ ]%N&^$IUCP];_ /"4>-9M;T/Q
M+875W+H=U:RV4P3)KE>N^WGJ?UC_ /!L5\7OB[\;/^";VN>,OC7\6OBG\9_&
M4?[3?Q9T5/&'Q?\ B-XS^*'BQ-&L-!^'TMCHZ>)?'6MZ_K::392W=W-9Z8M\
M+&TEN[J2W@C>YF+_ %C_ ,%WO'_C_P"%O_!)W]K_ ,??"WQ[XX^&'CWP[X<^
M&T_AWQW\-_%_B+P%XV\/SWOQN^&>FWD^@^+?">I:1XAT::\TR]O=-NY=,U*U
MDN=.O;RQF9[6ZGB?^+K_ ()4?\'".I_\$O?V8;[]FNS_ &.[#X[17WQ4\8_$
M]O&]S^T?/\*I(Y/%VG^'+%M"'A:/X ?$I2NFKX>24:G_ ,))F\:\9#I]J+<-
M/^]W[7?_  4*NO\ @IO_ ,&X'[9O[3UW\'(/@9)<^(-(\ 'P+;_$=_BG'&/!
M7[0OP;MEU<>*I/ /PW9SJGVUG.GGPT@L?)"B^O1*&0!-./FE^A^;_P#P:X?M
M7_M6_''_ (*,?%/P;\<?VIOVF/C=X/L?V*?BGXGL/"7QF^/_ ,7/BMX7L/$N
MG_'3]F;2K'Q%8>'O'WC'Q#H]EK]EI>NZWIEKK-K91:E;Z=K&JV,5TEKJ-Y%-
M_?57^9?_ ,&U/[0_P=_90_;4_::_:$^/WC;3_AW\)/AK_P $^OBMJGBWQ7J5
MOJ%ZEHM_^TG^R/H^D:;IVEZ1::AK.N^(/$&MW^GZ#X;\.:)87^M^(==U"PT?
M2;&ZO[R"%_TJ^-G_  >$>.Y?&VHP?LW?L8^%H/AO9WEQ!I&M_'/XC:N_CGQ-
MIRRM]FU+4?"/@#3ET#P->30[?,T>W\:_$%(B-_\ ;3%FMX046E%7?RZ[G]TU
M%?S;?\$K_P#@X^^ O[?_ ,2="_9U^+_PTN?V8/VA_%;74'P^L9_&,7CSX4_%
M6^L;$WLVA>%_&TN@^%=6\/>/+RWMM2O]/\$>)_#D=C?VMJFG>'?&WB?Q#/'I
M#?TD@@@$=",CZ&@I-/5!17\S/_!1O_@YP_95_8X\<^)/@G^S]X&O_P!K[XS>
M#]3OO#_CBXT/Q;%X!^"G@+Q'I\DUGJ?AS4?B;)X?\67OC+Q5H-XJ)K&C> ?"
MFM>'K&\BU+PUK7CKP]XKTG5='L/R.\%_\'AWQ\L_$44_Q$_8B^$/B'PDTQ6X
MTWP3\8_&?A'Q+;6\A($UOJ^O>#?&NE:C<6JL)!:RZ+I<6H/$;?[=I:SBZM@3
MDE;5']Z]%?G#_P $Z/\ @J;^RE_P4W^'NK>+_P!GWQ%J^F^,/!BZ5%\4?@SX
M\L(=$^)_PVO-9$_]E2ZMIUG=ZEHVO>&=8-I=KHGC7PAK.O>%[^>UO-*FU&R\
M1Z9K6A:7^CU!5T]M3\8O^"V7[&O[3?[:O[,_A?P3^S+XN@&I^$_')\5>,_A#
M>>)U\&6/QCT%M%NM.L-*;Q#<W%KH4^H^&=4FBU?3_#?C&\T_PCJTD]QJ=[JM
MCK7A_P .B?\ BYAN/^"B/_!,'Q[I]T1^T/\ LE>((=7=+&.]BUC3OACXQOX
M7FM!:72ZO\%OBY8D0&:>V">+])=K>*X*^9:Q2P_KIX-_X.#OVJ?V9_C+\8/A
M=\4?!?A']I3X9^#/C7\7?#_AZ[UG5[[P%\6])\.:3X\US2=#T1/'^FV'B'P_
MXATKP_8V,4=@WB3P'>>)[U#)#J?C6:/[-):?O?\ L;?\%5_V)O\ @IH=3^!,
M/A[5]$\?ZWX9U'4-=^ OQX\'Z!JFF^,/#VE)92>(&T.\M;CQ3\/?&^G6$MS!
M,^BWUU8^+)]+@O=<D\(6^F:7J=S8_P!*936X[\,N'99?G7!.4\5<%5$\PK8O
M"PH8BI3P^/I8.M6EC)O#XCEC3AB*<5_:N7*.'E-P6/CAX4YTOYASBEP+XG<1
M+'Y+QMF_"O&U-K+:&$Q,L3AZ5;$9=4Q5"G2P<'7PJG*=2A5URK,7*MR>UE@9
M5IU(5O\ /_\ C'\7?'_Q^^*WQ ^-?Q3UZ7Q-\0_B9XEOO%/BK69 Z1RWEWY<
M%II^G6S2S#3M!T#2K;3_  [X:TB&1K;1?#ND:5H]KBWL8A7F]?M9_P %Q_\
M@G]\/_V%_P!H[P5JWP8M&T+X-_M!>&_$GBGPUX,DN[F]M_ WC+P9J>DV7CWP
MYH4MW)<7D7A!X/%/A'7/#UI>WES)ID^LZSH=BT6BZ1I5K;_BD#D ^HS7]'\,
MYME6>9!E.:9)#V.5XG!TE@\/[*%!X2G0YL*\%*C3;ITIX.>%GAI0IRE3_=1G
M3E*G5A*7\U\491FN1<0YME6=U/;9KAL95>,Q'M95UBZN(:Q2QD:TTIU(XN.)
MCB%*:C4O5E&<8RIRBEI&Z'Z'^5+2-T/T/\J]^'QP_P"OE/\ ].TCY^?P3_Z]
MU/\ TU5/]%3_ ((0_P#**7]E7_<^-O\ ZT9\7J_76OR*_P""$/\ RBE_95_W
M/C;_ .M&?%ZOUUK_ #CXT_Y+'BO_ +*/.?\ U85C_2O@G_DC>%/^R<R;_P!0
M*)_F*_\ !T!K_CG6O^"N/Q>T[Q%<7KZ;X2^#'P,\/_"Z'4&F-E:^#+OP2WBJ
MX.F1L2BZ=/\ $WQ'\09+EX% DU*.^5RTD&%_J?\ ^"7_ ,"O^#?G]K/]E[X9
M?#_X#_ ?]C3XN>,M+^'&C0?$CPG\8OA?\+_$/[76G^*(M)BC\8:S\2IO'&AR
M_%JXU>W\07>K16?CSP]=S> 3L"_"K7CX0M-%6#[#_P""KO\ P1B_9T_X*I>'
MO"^J^,-=UOX.?'_X=:;>Z+\//CQX,T?3-<U"/P]?SW=\_@7XD^%-1FT^+XB_
M#JVUJ]N/$>EZ+'X@\*>)/#6NSZG<>$?&?AVR\4>-M/\ $_\ %%^TQ_P;/_\
M!4O]G&XO?%G@'P+X*_:=\->%9)?$&E^*OV>O&2P?$'3;;2I?M%GJ4?PU\<P^
M"_&X\6(T*75KH7PON/B-JB3^0FEW]]<@B+YD^C::;:7,GO>Q_8S^S_\ \&^'
M_!/[]E_]MKPE^VC\%=!\=>';KP-I'BAO"7P/UOQ4_C7X3^$O'OB"SM](L_B5
MX6E\56NI^/K/6=%T.\\76=CH>N>,_$?AK3-1U_3-=\+Z;X8O_">D[_YZ/^#P
MOC]I']B(>GP0^,/_ *GG@JOC_P#X)2_\%]OVP?V,_C=X&^ O[7'Q"\:?%_\
M9BO?'VF?#;XCZ5\=I?$&J_&+]G,RZN?"6J>(="\9^(]_Q M]/^'.H^3-XW^%
MGCP>(X-.T#PWJ6A>"].\%Z\MP;[[ _X/"_\ DY#]B+/_ $0_XP^__,^>"N_&
M?R% 73B[*VFJ^9B_\&[W_!$7]G;]M;X1>+/VQOVR/#^O_$3P-;_$/7/AG\%O
M@['XDUGPKX,URV\(6MC-XO\ B+XPOO"FH:7XGU^*/Q?J][X4\,>%;?7-"T"R
MO?"_B[4O%&E>+UU_1!H/TC_P7W_X(0_LA? #]D'Q9^V;^QOX!NO@KXC^"^K>
M"Y/B;\.M'\3^)->\ ^._A]XL\5Z5X'O]7L-#\67WB"\\+^,/"&K>(_#^O1WG
MAS6='\.7_A6Q\6V^L>&M5\07>BZSI?ZV?\&Q0 _X([_ (@ $_$;]I,D@ %C_
M ,-!_$898]20H"@G)"A5'"@#Z+_X+S@'_@D)^W4" ?\ BT=D>0#R/'7A$@X/
M'! (SWH*459:+9'^=?\ \$G/V"[O_@I/^VQ\-OV8-0\2Z]X3^&D>F>*?BQ\9
M?$/AV2TDU[0?ACX+BTBSUN?PK:ZM%>:+;^*O%GB+6?!'P]T_7;[3=2A\/?\
M"2P>([O1_$5KX?\ [ U#^^+X@_\ !ME_P20\8_"/4/AGX;_9TO\ X8>(&T:X
ML?#WQ?\ !OQ/^*%Y\3_#>M20-';>)I-4\7>+O$>C^+[JUN&^U-HOCG0_$?AB
MYPMN^BQPQ6HMOY>?^#23_E)Y\5_^S%?BZ/\ S/7[+A_I7^C30*"35[+J?XV]
M['\3/^"?7[:]U%_:D ^+'[%'[4EQ;MK.DK=6FEZSXD^ GQ1>WFO[*"21[E_#
M'C"/PY(QT^Z>8:CX8UJ33M02>&[N(G_L%_X.YOV+KC7? WP!_;Y\(:1YUW\.
M+M?V=_C9=VL#O<)X#\8:O>^(?@[XBU"8*L5KHWA7XBWWBSP:Q>5Y;G6_C#X>
MAA@$,4\D?\JW_!7W_E)A_P %#3_U=-\:O_4GOJ_U6/VQ?V9_!W[8_P"R[\=O
MV8/';FT\/?&OX<>(?!!UF.W%W=>%M<O;<7/A'QKI]JTL,=SJO@;Q=:Z'XQTB
M&=_LTFIZ':I<I);M+$X"2?,ME=?DC^;W_@TI_:Z'Q'_9.^,/['?B76!-XG_9
MC^()\9^ ;"YD6.3_ (4S\;KK5->^Q:>LSF?4/^$<^+FF?$BYU>:',6D6?C7P
MA83I +JR:Y]M_P"#J;]JM/@G_P $[]-^ .B:O]B\;_M>_$O1? \EI;S36^H_
M\*F^&]Q8?$;XGZG!+'A&TZXU.P^'OP^UVVD?_3-*^(\]L8Y()+@I_(U_P1K_
M &@O%/\ P3A_X*X_#'2?B^TG@NUG^)7C;]BO]I71_M48L]&N/%'B8_#ZY74[
MZX\NVBT;P#\>?#7@3Q1K.KR(!#X?\+:M)$T,<[R5] ?\'-O[4TW[27_!3O7_
M (6^$;N]\1>%/V4O WASX#Z!H^EROJ%GJ7Q7UV=O''Q2N=$M44R_V[=:UXA\
M)_"W6K:-,SZQ\+K:U5"\ DE!7?+W;;C^A^F/_!I;^Q%;^*K3]JK]M+QW8:A'
MH6LZ!>_LA_#"2RU74-"OKFRU>/0O&_QXUO3=1TJ>PUW2[A43X6>&?#/BWPWJ
M>F:GI=];^/[&SOXK^!VLOD#_ (.5/^"<'[%W_!/4_L1VW['WP7C^#\'Q6B_:
M03Q\D?C_ .*?CK^WT^'R? %/""EOB9XW\9MI:Z.OC+Q(%&C'3A>_VD3J/VPV
MMD;;^W;_ ()J_L@Z=^PA^PY^SK^R_;+:R:[\// 5M<_$74;.5;BVUOXN>,;R
M\\;?%C6;6[$44MQIE[\0?$/B'^P1/OELO#L>DZ:)'ALHL?RT_P#!Y'_Q\?\
M!.#_ '?VPOY?LM4#:M#7=6_,I_\ !O=_P2,_X)Y?MQ_L%ZM\:/VI/V>D^*'Q
M,M/V@?B7X'@\3'XJ_&WP8R^%_#^C^";O2-,.D?#WXD^$] 8VEQK&HO\ ;&TH
MW\_VC;<W4RQ0B/\ 5;_@K;^R'^SQ^Q)_P0;_ &TO@C^S#\/1\,?A?!%X)\61
M>%U\5>-O&07Q!XE_: ^$4VMZA_;/Q \2>*_$)-]):P,;5M6-C;^7BTMH SAN
M*_X-/?\ E%UK_P#V=;\9/_4>^&U?9'_!PQ_RAQ_;7_[%CX6?^K[^%5 TERWL
MK\OZ'^>[_P $E?V!)/\ @I3^VUX%_9EU+Q/X@\%?#EO#?B?XF_&KQ5X3CT^7
MQ/I/PK\"R:.E[;^'8]9@O-$CUOQ/XSUSP1X-TW5-7TW6;'PU<>(AXLD\/>(_
M[!.AZA_?=XG_ .#;S_@D%K_PQN/AQ8_LQWWA"];2Y+.P^*'A?XL_%8?%72-3
M-L\4?B2'Q)XA\7>(--UK4X+AC?)I7BS0?$/@Z:XVP7?A:YTU%L!_+9_P:0?\
MI//B[_V8;\7O_6@_V4?\^^!GH*_T9J!12<5HOZ9_C=?M3?!KXE_\$]_VQOBY
M\'8/%$O_  L_]DWXSK<^"?B!IUO_ &3=WE[X+U'2OB#\(OB39V,=Y>'0]0UC
M0Y/!GC>/3$U&\?0[R^%@NH7+6@NY/]!__@OC_P %%/&'[-7_  2O\.^+OA-?
MWGA'XK?MIKX-^$_@[7-+O)[37/A[X9^(OP]UGQW\2O%FBWL'DW=CK>F^!=*U
M#P?X=US3[VQUCPSXJ\8:!XKTN87>B(*_B[_X.'?^4PO[?H_ZC?PA/Y_LI_!&
MOW1_X.?_  _K<_[!7_!)CQ=")?\ A&M(M)_"VIN"?)'B+Q5\"/ FM>'4=<X,
MSZ3X'\7O"<$B**Y P&:@6RG;2S/@O_@W._X(\_"W_@H)XP^)OQ__ &F=!U37
MOV:?@%KFB>!/#GP]T[4KG0=#^+/QBN]*M?$NIZ%XKU/2);;6U\%_#/PAJ?A/
M7-6\-:1>:++XLUCQOX3AO]7D\+Z-XG\,>*O['OVA/^"&/_!+7]H#X5:S\,?^
M&.?@;\%+V]T^:WT'XH?LZ?#'P%\%OBIX0U,P-'8Z[IOBKP9X:L#X@GT^<B\;
M1/'=GXL\*ZQ,)$U_0=4AN)XY/X-_^"8G_!.3_@II^W#\'_B%XK_88_:9TCX6
M>!? /Q4N_"OC7X?W'[4_QN^"FI1^,;[P=X/UQ/&<O@KX;>&-:T.[TWQ+H=YI
MFAV'BNZNH]5U6[\%ZMH\]NEIX;L))OTG_P"' G_!PI_T>EI/_BP#]K#_ .8"
M@([?"GYW6I^,_P !?BG\6O\ @BO_ ,%4#J>NZI=/J7[+/QW\2?"#XWII,%_8
MZ;\5?@)+X@CT7QW/!H?VJ6:YTKQS\.3IGQ6^'FF:N]\-(\46_@#7KJWGU30(
M5K_6@AG6XBBN+>2&XMYXTF@GAE62*>&50\4T4D99)(Y4971T9D96#*2"#7^<
M+XT_X-:O^"P/C_4]>\2>-?B#^S%XV\7>(HR=9\5>,_VCOBWXJ\3:U<QZ?%IE
MK-K'B'7_ ()ZAJ^IRV]C:VEC!-?WMQ)#96MM:HRP011I_H<?!GPQKW@?X/\
MPI\%^*KFWO?%'A#X;>!?"_B2]LYIKNTN]>\/^%]+TG6+JUNIH+::YMKC4+2X
ME@N)K>"6:)UDDAB=BBA44U>ZM=Z(_'O]H?\ X(T?\$X/V]M;U[XS_#_5;SP#
MXPUG7_$,'C'Q[^R_XQ\%2^%/$OC>QO9;7Q"_C/PI<:1XR\#+XNLM<6]/C"30
M=/\ "7B[5->EOY_%NHWFJAY8;W[#O_!%G]F#_@GG\4+S]IN?XK_$#Q_XQ\'^
M%?%=AI7B#XE77@[PIX"^'^B:Q8+;^(O%'V32]*L94U>/P]'J>E7.MZYXGET.
MST/5M68:+;W9AO[3^(/XX^+_ !AX#_:L_:0USP+XM\5>!]<;]H#XT[M9\&>(
M];\*:L=GQ-\5!&.H^'[_ $Z])52 KF?(#'!&<5YMXZ^,7QA^*4$5I\4?B_\
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
MM)\--X9T :7;07$8A32[6,ET5E8)BFKIM6M_P#^!;_@T@(/_  4\^+N#G_C
MWXO=/^S@_P!E*O\ 1FKX;_9J_P"":G["7['GQ U/XJ?LR?LS?#KX-_$/6?!V
MI_#_ %3Q7X2@U>/5+WP9K.M^'/$>J>'IFO\ 5;Z$V%[KGA'PWJ4JK"LOVC2+
M4K(J"19/N2@J*LDC_*5_X.'B/^'PW[?G/76OA"![G_AE/X(\5_?'^V'^P'H/
M_!27_@D_X,_9NNK_ $WP_P"/)/@M\&?'_P $/&FK&Y73?!/QG\&> =/G\(ZK
MJCVEIJ-U%X<\06E_K7@#QM-9Z7J6J0^!?&/B671+7^W$TR>#V_XW?\$C_P#@
MFY^TC\3O&7QG^.?[(?PJ^)7Q2^(4VF7'C3QKXAM]=?6/$4VC>'=(\):7)?M:
M:W:V[-9>&]!T?2(?*@B M;" ,&<,[?H%H&A:1X6T+1?#/A^P@TO0?#NDZ;H6
MB:9;;Q;:=I&D6<.GZ;86XD9W$%G96\-O%O=W\N-=S,<D@DK7OU=S_*A_8X_;
M/_;9_P""$7[8OQ+\,ZW\-)-%\4H='\'_ +2/[,GQ-GN=)T?X@:%H%_?7_A77
M=%\4:'_:EO;7]G#JNN7OPH^,/AB'QGX/O]$\5:M?6FF^,_#NMFWD_I%U[_@\
M2^#<?@4W7A?]AWXN7OQ0:SC/_".^(_BMX%T?X=0:@R 2J/'NE:1X@\57=C Y
M=H96^%UA<7B1A98-.,A:'^HS]J#]B;]DW]M+PQ;>$OVI?@#\-OC5I>G)<)H5
M[XOT"%O%7A0WFS[9-X*\<Z8^G^-O!-U=K&J75YX2\0:-=W$8\J:9XRR'\R-*
M_P"#:O\ X(UZ5KG]MK^RIK>H(DR3V^BZO^T5^TQJ>@V[QR"1$;3[GXO,=0M^
M%62UU>XU&VFC41SPRJS[@+26D;6\[W/PZ_X(\_\ !9'_ (*U?MT?\%*]3M[C
MP?X>^,/[.GC1- T_XV?#[1]*F\$?"+]DKX=V4NK?V!XY\%^.WMM>U.S\>W%Q
M<ZA(_A3QMJGBSQ#\>YH;S0;)_"^D>&](\3?#3^YWYNVW]:\M^#7P-^#7[.W@
M/2OA=\!OA;X!^#OPZT4RR:=X+^&_A71O!_AR&[N%A6\U*73-#L[*VN]8U P1
M2ZIK-XEQJNJ7"FZU&\NKEWE;U2@:5M]WO_P#_/<^.7[./P:U/XX?&G4KWPC+
M->ZA\8_BK?7DP\3^+X?.NKKQ_P"))9Y3'!K\<2>9(2^R.-(U).Q%R<^8?\,Q
M_!'_ *$R;_PJ_&G_ ,T5%%?VAD6:YH\JP=\QQSY:-.$?]JK6C"%'#1A%)324
M8Q2C%)6222T1_#&=Y;EW]J8U_4,'>6(K2D_JU)MREB,9*4FW%MRE)MR;=VVV
M]6'_  S'\$?^A,F_\*OQI_\ -%1_PS'\$?\ H3)O_"K\:?\ S1445Z_]J9G_
M -##'?\ A57_ /EAY7]FY=_T 8/_ ,)J/_R ?\,Q_!'_ *$R;_PJ_&G_ ,T5
M(?V8_@CQ_P 49-U'_,U^-/4?]3%116=;-<S5*JUF..35.HT_K5?1J$FOMOJE
MT?H:4<MRYUJ*^H8.SJTD_P#9J.SJ4T_LKHWU1_:I_P $D?#&A^#?^"?/[/\
MX;\.61T[1=.3XIFSLS=7EZ8?MGQM^)=]<9NM0N+N\E\RZN9Y1YUQ)Y8<1Q[(
MD1%_1^BBOXQSVI4K9YG5:K.=6K5S;,JE6I4DYU*E2IC<1.=2<Y-RE.<I2E*3
M;<I-MZL_N+(*=.CD.24J4(4J5+*<NITZ=.*A3ITX8.C&$(0BE&,(Q2C&,4E%
M))*R"BBBO*/7"BBB@ HHHH **** "OX)O^"XOP9^'?QE_P""E_QSUGXEZ1J7
MBK4/"?AGX,>!_#,ESXL\86,&A>$H?A7X9\91Z!I=CI.O6%C9Z</%?C7Q;X@:
M&&V7S-5\0ZK>2,\UW(Q**"9_"_E^9ZY_P1%_X)?_ +!_Q>^,?B[Q9\5/V>=
M^(NI?"RRTWQ3X+L/&GBGXA>)/"=IKD&I6$4%WK7@35O%]UX(\80P?:'F@T_Q
MEX>U_38;I+>]BM%N[6VGA_M]QCI[G\SD_K110*'P_-A11106%%%% !1110 4
.444 %%%% !1110!__]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>8
<FILENAME>ex23-1_002.jpg
<TEXT>
begin 644 ex23-1_002.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1"  < ',# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
M&G@?1[DG9]M_X0S0?V??"GC+Q*D7,ZZ0VI^$A<)B%M>M'S)7W_10!^2/B/\
MX)6Z9\2?A/\ !CX:_%[XSZUX];3?VM]&_;+_ &L;B[\+:;'I/[67Q(T99]1T
MSPIXDTI[V0^%OAIX:U[3_ EOX7\*6=QJ5E;>#?AWX;\*:G'J4(N;IY?B[_P2
M[LOB;=?\%#O&[_$O3KCXQ?MS^&OA]\,=$\<Z]X%LID^"WP0^'FD:+8:=\)=%
M@T_4+>[UG0]0U5/%?B75[QKK3I]5U?Q#9G4(;B+0K&OUIKX>_P""D/QI^(?[
M.?[%/QX^.?PIUF#1/'OPN\+VOB[P_<7NE:7K6EWD^G:WIGGZ1K&FZK:745QH
M^KVDD^GZC]B?3]6CM;B272=6TN_2"]A /S]_:)_9 U'7O^"B?PS\%^"/CIXZ
M3X7_ +2WQ)\-_M=_M3?LV0>&_"4_@F?2/V5O"?A+PAX8\3ZUXT-C_P )K8^'
MO'7CG3?A%X;M_A^EY'H>M:KH6LZYYCP:)<Z?7W;X%_8BU'X1_M1_%3]H#X0_
M'KQ;X$\#?'WQQIOQ/^.OP''@3X:^(= \>_$/3?"5MX.&NV7Q"UGP_-\1O"=A
MJ&GZ;I%YJ.@Z5K<E@-4L);C2CI,.JZM;7GSG_P $:O$&O_M%?LT:/^WM\7M9
MO/%G[0_[4VEVB^-]9F2RL_#WA/PCX!UC7M*\(?#7X9^'K&TMX?"G@/1Y;K5M
M<>PEGU76-8\2:YJVM^(-<U:]GA>W_8*@#\P?"G_!+KX5_#[]C7]JK]E/P;XW
M\53>)OVO;CXY>(OB]^T)XTL=%\3_ !-\4_$#XV7.N33>,?$9AM=(T_69/!]M
MJUII7AK2MEG8V>G:3 L2PW-U>7$WGUI^P!\?/@_\=OB/\7_V?_&_[+OC"'XM
M^*/#?Q,U8?M0? K7_&_CGX7?%^R^'WA;X;>,/&OPC\?>#_&OA_6-.T'QIHG@
MSP]?2^ KPVMEH&I6UU%HFMVVF7LEFGZ_T4 >2_!_P;\2_!WA^YA^*_Q;NOB_
MXNU&[%Y=:ROA#P_X&T/28RA(T?PYX=T%)&M]+MI))1#<ZSJ>M:W<Q"'[?J=P
M\0->M444 ?B[\+O G_!4+X8_M'?MR^/-'^!G[*OB/0OCY\>-&\4?#;QUXW_:
M&\<:'<V_PD\"_#?PM\// V@ZGX.\,_![Q=>IJD$&B7^K7>_7M,MH[[5[^**T
M"".YN?8_VR_@M^VY^T%^R/X3\%>&++]FF3]H"R^//P3^(WB;P_JOB3XC:'\&
M=1\%?##XGZ+\0+WP_%XC7PWXA\8-JEX/#NF0K>?\(]%!).9G2W@5$5_T_HH
M^!?"R?\ !42]FT^\\977[!GAVUEE@;5-!\/Z3^T!XJO;2 S+]JAL_$][X@\*
MVM[,MON\B>7PO91M-M\R!$S5_P#9"\"_$O1?BW^W=\1/B5X'O?!?_"T/VH%D
M^'\M_>Z=>S>+OAGX ^%/P\\!>%_%\'V&YGDM-/U:;1M56PL;U8+F""W!:,>9
+7W710 4444 ?_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>9
<FILENAME>audit_001.jpg
<TEXT>
begin 644 audit_001.jpg
M_]C_X  02D9)1@ ! 0$ 9 !D  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1"  S /H# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MCK7A_P .B?\ BYAN/^"B/_!,'Q[I]T1^T/\ LE>((=7=+&.]BUC3OACXQOX
M7FM!:72ZO\%OBY8D0&:>V">+])=K>*X*^9:Q2P_KIX-_X.#OVJ?V9_C+\8/A
M=\4?!?A']I3X9^#/C7\7?#_AZ[UG5[[P%\6])\.:3X\US2=#T1/'^FV'B'P_
MXATKP_8V,4=@WB3P'>>)[U#)#J?C6:/[-):?O?\ L;?\%5_V)O\ @IH=3^!,
M/A[5]$\?ZWX9U'4-=^ OQX\'Z!JFF^,/#VE)92>(&T.\M;CQ3\/?&^G6$MS!
M,^BWUU8^+)]+@O=<D\(6^F:7J=S8_P!*936X[\,N'99?G7!.4\5<%5$\PK8O
M"PH8BI3P^/I8.M6EC)O#XCEC3AB*<5_:N7*.'E-P6/CAX4YTOYASBEP+XG<1
M+'Y+QMF_"O&U-K+:&$Q,L3AZ5;$9=4Q5"G2P<'7PJG*=2A5URK,7*MR>UE@9
M5IU(5O\ /_\ C'\7?'_Q^^*WQ ^-?Q3UZ7Q-\0_B9XEOO%/BK69 Z1RWEWY<
M%II^G6S2S#3M!T#2K;3_  [X:TB&1K;1?#ND:5H]KBWL8A7F]?M9_P %Q_\
M@G]\/_V%_P!H[P5JWP8M&T+X-_M!>&_$GBGPUX,DN[F]M_ WC+P9J>DV7CWP
MYH4MW)<7D7A!X/%/A'7/#UI>WES)ID^LZSH=BT6BZ1I5K;_BD#D ^HS7]'\,
MYME6>9!E.:9)#V.5XG!TE@\/[*%!X2G0YL*\%*C3;ITIX.>%GAI0IRE3_=1G
M3E*G5A*7\U\491FN1<0YME6=U/;9KAL95>,Q'M95UBZN(:Q2QD:TTIU(XN.)
MCB%*:C4O5E&<8RIRBEI&Z'Z'^5+2-T/T/\J]^'QP_P"OE/\ ].TCY^?P3_Z]
MU/\ TU5/]%3_ ((0_P#**7]E7_<^-O\ ZT9\7J_76OR*_P""$/\ RBE_95_W
M/C;_ .M&?%ZOUUK_ #CXT_Y+'BO_ +*/.?\ U85C_2O@G_DC>%/^R<R;_P!0
M*)_F*_\ !T!K_CG6O^"N/Q>T[Q%<7KZ;X2^#'P,\/_"Z'4&F-E:^#+OP2WBJ
MX.F1L2BZ=/\ $WQ'\09+EX% DU*.^5RTD&%_J?\ ^"7_ ,"O^#?G]K/]E[X9
M?#_X#_ ?]C3XN>,M+^'&C0?$CPG\8OA?\+_$/[76G^*(M)BC\8:S\2IO'&AR
M_%JXU>W\07>K16?CSP]=S> 3L"_"K7CX0M-%6#[#_P""KO\ P1B_9T_X*I>'
MO"^J^,-=UOX.?'_X=:;>Z+\//CQX,T?3-<U"/P]?SW=\_@7XD^%-1FT^+XB_
M#JVUJ]N/$>EZ+'X@\*>)/#6NSZG<>$?&?AVR\4>-M/\ $_\ %%^TQ_P;/_\
M!4O]G&XO?%G@'P+X*_:=\->%9)?$&E^*OV>O&2P?$'3;;2I?M%GJ4?PU\<P^
M"_&X\6(T*75KH7PON/B-JB3^0FEW]]<@B+YD^C::;:7,GO>Q_8S^S_\ \&^'
M_!/[]E_]MKPE^VC\%=!\=>';KP-I'BAO"7P/UOQ4_C7X3^$O'OB"SM](L_B5
MX6E\56NI^/K/6=%T.\\76=CH>N>,_$?AK3-1U_3-=\+Z;X8O_">D[_YZ/^#P
MOC]I']B(>GP0^,/_ *GG@JOC_P#X)2_\%]OVP?V,_C=X&^ O[7'Q"\:?%_\
M9BO?'VF?#;XCZ5\=I?$&J_&+]G,RZN?"6J>(="\9^(]_Q M]/^'.H^3-XW^%
MGCP>(X-.T#PWJ6A>"].\%Z\MP;[[ _X/"_\ DY#]B+/_ $0_XP^__,^>"N_&
M?R% 73B[*VFJ^9B_\&[W_!$7]G;]M;X1>+/VQOVR/#^O_$3P-;_$/7/AG\%O
M@['XDUGPKX,URV\(6MC-XO\ B+XPOO"FH:7XGU^*/Q?J][X4\,>%;?7-"T"R
MO?"_B[4O%&E>+UU_1!H/TC_P7W_X(0_LA? #]D'Q9^V;^QOX!NO@KXC^"^K>
M"Y/B;\.M'\3^)->\ ^._A]XL\5Z5X'O]7L-#\67WB"\\+^,/"&K>(_#^O1WG
MAS6='\.7_A6Q\6V^L>&M5\07>BZSI?ZV?\&Q0 _X([_ (@ $_$;]I,D@ %C_
M ,-!_$898]20H"@G)"A5'"@#Z+_X+S@'_@D)^W4" ?\ BT=D>0#R/'7A$@X/
M'! (SWH*459:+9'^=?\ \$G/V"[O_@I/^VQ\-OV8-0\2Z]X3^&D>F>*?BQ\9
M?$/AV2TDU[0?ACX+BTBSUN?PK:ZM%>:+;^*O%GB+6?!'P]T_7;[3=2A\/?\
M"2P>([O1_$5KX?\ [ U#^^+X@_\ !ME_P20\8_"/4/AGX;_9TO\ X8>(&T:X
ML?#WQ?\ !OQ/^*%Y\3_#>M20-';>)I-4\7>+O$>C^+[JUN&^U-HOCG0_$?AB
MYPMN^BQPQ6HMOY>?^#23_E)Y\5_^S%?BZ/\ S/7[+A_I7^C30*"35[+J?XV]
M['\3/^"?7[:]U%_:D ^+'[%'[4EQ;MK.DK=6FEZSXD^ GQ1>WFO[*"21[E_#
M'C"/PY(QT^Z>8:CX8UJ33M02>&[N(G_L%_X.YOV+KC7? WP!_;Y\(:1YUW\.
M+M?V=_C9=VL#O<)X#\8:O>^(?@[XBU"8*L5KHWA7XBWWBSP:Q>5Y;G6_C#X>
MAA@$,4\D?\JW_!7W_E)A_P %#3_U=-\:O_4GOJ_U6/VQ?V9_!W[8_P"R[\=O
MV8/';FT\/?&OX<>(?!!UF.W%W=>%M<O;<7/A'QKI]JTL,=SJO@;Q=:Z'XQTB
M&=_LTFIZ':I<I);M+$X"2?,ME=?DC^;W_@TI_:Z'Q'_9.^,/['?B76!-XG_9
MC^()\9^ ;"YD6.3_ (4S\;KK5->^Q:>LSF?4/^$<^+FF?$BYU>:',6D6?C7P
MA83I +JR:Y]M_P"#J;]JM/@G_P $[]-^ .B:O]B\;_M>_$O1? \EI;S36^H_
M\*F^&]Q8?$;XGZG!+'A&TZXU.P^'OP^UVVD?_3-*^(\]L8Y()+@I_(U_P1K_
M &@O%/\ P3A_X*X_#'2?B^TG@NUG^)7C;]BO]I71_M48L]&N/%'B8_#ZY74[
MZX\NVBT;P#\>?#7@3Q1K.KR(!#X?\+:M)$T,<[R5] ?\'-O[4TW[27_!3O7_
M (6^$;N]\1>%/V4O WASX#Z!H^EROJ%GJ7Q7UV=O''Q2N=$M44R_V[=:UXA\
M)_"W6K:-,SZQ\+K:U5"\ DE!7?+W;;C^A^F/_!I;^Q%;^*K3]JK]M+QW8:A'
MH6LZ!>_LA_#"2RU74-"OKFRU>/0O&_QXUO3=1TJ>PUW2[A43X6>&?#/BWPWJ
M>F:GI=];^/[&SOXK^!VLOD#_ (.5/^"<'[%W_!/4_L1VW['WP7C^#\'Q6B_:
M03Q\D?C_ .*?CK^WT^'R? %/""EOB9XW\9MI:Z.OC+Q(%&C'3A>_VD3J/VPV
MMD;;^W;_ ()J_L@Z=^PA^PY^SK^R_;+:R:[\// 5M<_$74;.5;BVUOXN>,;R
M\\;?%C6;6[$44MQIE[\0?$/B'^P1/OELO#L>DZ:)'ALHL?RT_P#!Y'_Q\?\
M!.#_ '?VPOY?LM4#:M#7=6_,I_\ !O=_P2,_X)Y?MQ_L%ZM\:/VI/V>D^*'Q
M,M/V@?B7X'@\3'XJ_&WP8R^%_#^C^";O2-,.D?#WXD^$] 8VEQK&HO\ ;&TH
MW\_VC;<W4RQ0B/\ 5;_@K;^R'^SQ^Q)_P0;_ &TO@C^S#\/1\,?A?!%X)\61
M>%U\5>-O&07Q!XE_: ^$4VMZA_;/Q \2>*_$)-]):P,;5M6-C;^7BTMH SAN
M*_X-/?\ E%UK_P#V=;\9/_4>^&U?9'_!PQ_RAQ_;7_[%CX6?^K[^%5 TERWL
MK\OZ'^>[_P $E?V!)/\ @I3^VUX%_9EU+Q/X@\%?#EO#?B?XF_&KQ5X3CT^7
MQ/I/PK\"R:.E[;^'8]9@O-$CUOQ/XSUSP1X-TW5-7TW6;'PU<>(AXLD\/>(_
M[!.AZA_?=XG_ .#;S_@D%K_PQN/AQ8_LQWWA"];2Y+.P^*'A?XL_%8?%72-3
M-L\4?B2'Q)XA\7>(--UK4X+AC?)I7BS0?$/@Z:XVP7?A:YTU%L!_+9_P:0?\
MI//B[_V8;\7O_6@_V4?\^^!GH*_T9J!12<5HOZ9_C=?M3?!KXE_\$]_VQOBY
M\'8/%$O_  L_]DWXSK<^"?B!IUO_ &3=WE[X+U'2OB#\(OB39V,=Y>'0]0UC
M0Y/!GC>/3$U&\?0[R^%@NH7+6@NY/]!__@OC_P %%/&'[-7_  2O\.^+OA-?
MWGA'XK?MIKX-^$_@[7-+O)[37/A[X9^(OP]UGQW\2O%FBWL'DW=CK>F^!=*U
M#P?X=US3[VQUCPSXJ\8:!XKTN87>B(*_B[_X.'?^4PO[?H_ZC?PA/Y_LI_!&
MOW1_X.?_  _K<_[!7_!)CQ=")?\ A&M(M)_"VIN"?)'B+Q5\"/ FM>'4=<X,
MSZ3X'\7O"<$B**Y P&:@6RG;2S/@O_@W._X(\_"W_@H)XP^)OQ__ &F=!U37
MOV:?@%KFB>!/#GP]T[4KG0=#^+/QBN]*M?$NIZ%XKU/2);;6U\%_#/PAJ?A/
M7-6\-:1>:++XLUCQOX3AO]7D\+Z-XG\,>*O['OVA/^"&/_!+7]H#X5:S\,?^
M&.?@;\%+V]T^:WT'XH?LZ?#'P%\%OBIX0U,P-'8Z[IOBKP9X:L#X@GT^<B\;
M1/'=GXL\*ZQ,)$U_0=4AN)XY/X-_^"8G_!.3_@II^W#\'_B%XK_88_:9TCX6
M>!? /Q4N_"OC7X?W'[4_QN^"FI1^,;[P=X/UQ/&<O@KX;>&-:T.[TWQ+H=YI
MFAV'BNZNH]5U6[\%ZMH\]NEIX;L))OTG_P"' G_!PI_T>EI/_BP#]K#_ .8"
M@([?"GYW6I^,_P !?BG\6O\ @BO_ ,%4#J>NZI=/J7[+/QW\2?"#XWII,%_8
MZ;\5?@)+X@CT7QW/!H?VJ6:YTKQS\.3IGQ6^'FF:N]\-(\46_@#7KJWGU30(
M5K_6@AG6XBBN+>2&XMYXTF@GAE62*>&50\4T4D99)(Y4971T9D96#*2"#7^<
M+XT_X-:O^"P/C_4]>\2>-?B#^S%XV\7>(HR=9\5>,_VCOBWXJ\3:U<QZ?%IE
MK-K'B'7_ ()ZAJ^IRV]C:VEC!-?WMQ)#96MM:HRP011I_H<?!GPQKW@?X/\
MPI\%^*KFWO?%'A#X;>!?"_B2]LYIKNTN]>\/^%]+TG6+JUNIH+::YMKC4+2X
ME@N)K>"6:)UDDAB=BBA44U>ZM=Z(_'O]H?\ X(T?\$X/V]M;U[XS_#_5;SP#
MXPUG7_$,'C'Q[^R_XQ\%2^%/$OC>QO9;7Q"_C/PI<:1XR\#+XNLM<6]/C"30
M=/\ "7B[5->EOY_%NHWFJAY8;W[#O_!%G]F#_@GG\4+S]IN?XK_$#Q_XQ\'^
M%?%=AI7B#XE77@[PIX"^'^B:Q8+;^(O%'V32]*L94U>/P]'J>E7.MZYXGET.
MST/5M68:+;W9AO[3^(/XX^+_ !AX#_:L_:0USP+XM\5>!]<;]H#XT[M9\&>(
M];\*:L=GQ-\5!&.H^'[_ $Z])52 KF?(#'!&<5YMXZ^,7QA^*4$5I\4?B_\
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
MM)\--X9T :7;07$8A32[6,ET5E8)BFKIM6M_P#^!;_@T@(/_  4\^+N#G_C
MWXO=/^S@_P!E*O\ 1FKX;_9J_P"":G["7['GQ U/XJ?LR?LS?#KX-_$/6?!V
MI_#_ %3Q7X2@U>/5+WP9K.M^'/$>J>'IFO\ 5;Z$V%[KGA'PWJ4JK"LOVC2+
M4K(J"19/N2@J*LDC_*5_X.'B/^'PW[?G/76OA"![G_AE/X(\5_?'^V'^P'H/
M_!27_@D_X,_9NNK_ $WP_P"/)/@M\&?'_P $/&FK&Y73?!/QG\&> =/G\(ZK
MJCVEIJ-U%X<\06E_K7@#QM-9Z7J6J0^!?&/B671+7^W$TR>#V_XW?\$C_P#@
MFY^TC\3O&7QG^.?[(?PJ^)7Q2^(4VF7'C3QKXAM]=?6/$4VC>'=(\):7)?M:
M:W:V[-9>&]!T?2(?*@B M;" ,&<,[?H%H&A:1X6T+1?#/A^P@TO0?#NDZ;H6
MB:9;;Q;:=I&D6<.GZ;86XD9W$%G96\-O%O=W\N-=S,<D@DK7OU=S_*A_8X_;
M/_;9_P""$7[8OQ+\,ZW\-)-%\4H='\'_ +2/[,GQ-GN=)T?X@:%H%_?7_A77
M=%\4:'_:EO;7]G#JNN7OPH^,/AB'QGX/O]$\5:M?6FF^,_#NMFWD_I%U[_@\
M2^#<?@4W7A?]AWXN7OQ0:SC/_".^(_BMX%T?X=0:@R 2J/'NE:1X@\57=C Y
M=H96^%UA<7B1A98-.,A:'^HS]J#]B;]DW]M+PQ;>$OVI?@#\-OC5I>G)<)H5
M[XOT"%O%7A0WFS[9-X*\<Z8^G^-O!-U=K&J75YX2\0:-=W$8\J:9XRR'\R-*
M_P"#:O\ X(UZ5KG]MK^RIK>H(DR3V^BZO^T5^TQJ>@V[QR"1$;3[GXO,=0M^
M%62UU>XU&VFC41SPRJS[@+26D;6\[W/PZ_X(\_\ !9'_ (*U?MT?\%*]3M[C
MP?X>^,/[.GC1- T_XV?#[1]*F\$?"+]DKX=V4NK?V!XY\%^.WMM>U.S\>W%Q
M<ZA(_A3QMJGBSQ#\>YH;S0;)_"^D>&](\3?#3^YWYNVW]:\M^#7P-^#7[.W@
M/2OA=\!OA;X!^#OPZT4RR:=X+^&_A71O!_AR&[N%A6\U*73-#L[*VN]8U P1
M2ZIK-XEQJNJ7"FZU&\NKEWE;U2@:5M]WO_P#_/<^.7[./P:U/XX?&G4KWPC+
M->ZA\8_BK?7DP\3^+X?.NKKQ_P"))9Y3'!K\<2>9(2^R.-(U).Q%R<^8?\,Q
M_!'_ *$R;_PJ_&G_ ,T5%%?VAD6:YH\JP=\QQSY:-.$?]JK6C"%'#1A%)324
M8Q2C%)6222T1_#&=Y;EW]J8U_4,'>6(K2D_JU)MREB,9*4FW%MRE)MR;=VVV
M]6'_  S'\$?^A,F_\*OQI_\ -%1_PS'\$?\ H3)O_"K\:?\ S1445Z_]J9G_
M -##'?\ A57_ /EAY7]FY=_T 8/_ ,)J/_R ?\,Q_!'_ *$R;_PJ_&G_ ,T5
M(?V8_@CQ_P 49-U'_,U^-/4?]3%116=;-<S5*JUF..35.HT_K5?1J$FOMOJE
MT?H:4<MRYUJ*^H8.SJTD_P#9J.SJ4T_LKHWU1_:I_P $D?#&A^#?^"?/[/\
MX;\.61T[1=.3XIFSLS=7EZ8?MGQM^)=]<9NM0N+N\E\RZN9Y1YUQ)Y8<1Q[(
MD1%_1^BBOXQSVI4K9YG5:K.=6K5S;,JE6I4DYU*E2IC<1.=2<Y-RE.<I2E*3
M;<I-MZL_N+(*=.CD.24J4(4J5+*<NITZ=.*A3ITX8.C&$(0BE&,(Q2C&,4E%
M))*R"BBBO*/7"BBB@ HHHH **** "OX)O^"XOP9^'?QE_P""E_QSUGXEZ1J7
MBK4/"?AGX,>!_#,ESXL\86,&A>$H?A7X9\91Z!I=CI.O6%C9Z</%?C7Q;X@:
M&&V7S-5\0ZK>2,\UW(Q**"9_"_E^9ZY_P1%_X)?_ +!_Q>^,?B[Q9\5/V>=
M^(NI?"RRTWQ3X+L/&GBGXA>)/"=IKD&I6$4%WK7@35O%]UX(\80P?:'F@T_Q
MEX>U_38;I+>]BM%N[6VGA_M]QCI[G\SD_K110*'P_-A11106%%%% !1110 4
.444 %%%% !1110!__]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>audit_002.jpg
<TEXT>
begin 644 audit_002.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1"  < ',# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
M&G@?1[DG9]M_X0S0?V??"GC+Q*D7,ZZ0VI^$A<)B%M>M'S)7W_10!^2/B/\
MX)6Z9\2?A/\ !CX:_%[XSZUX];3?VM]&_;+_ &L;B[\+:;'I/[67Q(T99]1T
MSPIXDTI[V0^%OAIX:U[3_ EOX7\*6=QJ5E;>#?AWX;\*:G'J4(N;IY?B[_P2
M[LOB;=?\%#O&[_$O3KCXQ?MS^&OA]\,=$\<Z]X%LID^"WP0^'FD:+8:=\)=%
M@T_4+>[UG0]0U5/%?B75[QKK3I]5U?Q#9G4(;B+0K&OUIKX>_P""D/QI^(?[
M.?[%/QX^.?PIUF#1/'OPN\+VOB[P_<7NE:7K6EWD^G:WIGGZ1K&FZK:745QH
M^KVDD^GZC]B?3]6CM;B272=6TN_2"]A /S]_:)_9 U'7O^"B?PS\%^"/CIXZ
M3X7_ +2WQ)\-_M=_M3?LV0>&_"4_@F?2/V5O"?A+PAX8\3ZUXT-C_P )K8^'
MO'7CG3?A%X;M_A^EY'H>M:KH6LZYYCP:)<Z?7W;X%_8BU'X1_M1_%3]H#X0_
M'KQ;X$\#?'WQQIOQ/^.OP''@3X:^(= \>_$/3?"5MX.&NV7Q"UGP_-\1O"=A
MJ&GZ;I%YJ.@Z5K<E@-4L);C2CI,.JZM;7GSG_P $:O$&O_M%?LT:/^WM\7M9
MO/%G[0_[4VEVB^-]9F2RL_#WA/PCX!UC7M*\(?#7X9^'K&TMX?"G@/1Y;K5M
M<>PEGU76-8\2:YJVM^(-<U:]GA>W_8*@#\P?"G_!+KX5_#[]C7]JK]E/P;XW
M\53>)OVO;CXY>(OB]^T)XTL=%\3_ !-\4_$#XV7.N33>,?$9AM=(T_69/!]M
MJUII7AK2MEG8V>G:3 L2PW-U>7$WGUI^P!\?/@_\=OB/\7_V?_&_[+OC"'XM
M^*/#?Q,U8?M0? K7_&_CGX7?%^R^'WA;X;>,/&OPC\?>#_&OA_6-.T'QIHG@
MSP]?2^ KPVMEH&I6UU%HFMVVF7LEFGZ_T4 >2_!_P;\2_!WA^YA^*_Q;NOB_
MXNU&[%Y=:ROA#P_X&T/28RA(T?PYX=T%)&M]+MI))1#<ZSJ>M:W<Q"'[?J=P
M\0->M444 ?B[\+O G_!4+X8_M'?MR^/-'^!G[*OB/0OCY\>-&\4?#;QUXW_:
M&\<:'<V_PD\"_#?PM\// V@ZGX.\,_![Q=>IJD$&B7^K7>_7M,MH[[5[^**T
M"".YN?8_VR_@M^VY^T%^R/X3\%>&++]FF3]H"R^//P3^(WB;P_JOB3XC:'\&
M=1\%?##XGZ+\0+WP_%XC7PWXA\8-JEX/#NF0K>?\(]%!).9G2W@5$5_T_HH
M^!?"R?\ !42]FT^\\977[!GAVUEE@;5-!\/Z3^T!XJO;2 S+]JAL_$][X@\*
MVM[,MON\B>7PO91M-M\R!$S5_P#9"\"_$O1?BW^W=\1/B5X'O?!?_"T/VH%D
M^'\M_>Z=>S>+OAGX ^%/P\\!>%_%\'V&YGDM-/U:;1M56PL;U8+F""W!:,>9
+7W710 4444 ?_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>11
<FILENAME>fsi-20241231.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.25b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWaKMGbP9z5Z8eekhvWB3bSm6nyAi9g0F4SBAglAWoWwG -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:FSI="http://flexiblesolutions.com/20241231" elementFormDefault="qualified" targetNamespace="http://flexiblesolutions.com/20241231">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/BalanceSheets" id="BalanceSheets">
          <link:definition>00000002 - 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://flexiblesolutions.com/role/BalanceSheetsParenthetical" id="BalanceSheetsParenthetical">
          <link:definition>00000003 - 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://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" id="StatementsOfIncomeAndComprehensiveIncome">
          <link:definition>00000004 - Statement - Consolidated Statements of Income and Comprehensive 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://flexiblesolutions.com/role/StatementsOfCashFlows" id="StatementsOfCashFlows">
          <link:definition>00000005 - 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://flexiblesolutions.com/role/StatementsOfStockholdersEquity" id="StatementsOfStockholdersEquity">
          <link:definition>00000006 - 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://flexiblesolutions.com/role/BasisOfPresentation" id="BasisOfPresentation">
          <link:definition>999014 - Disclosure - BASIS OF PRESENTATION</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://flexiblesolutions.com/role/SignificantAccountingPolicies" id="SignificantAccountingPolicies">
          <link:definition>999015 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Leases" id="Leases">
          <link:definition>999016 - 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://flexiblesolutions.com/role/AccountsReceivable" id="AccountsReceivable">
          <link:definition>999017 - Disclosure - ACCOUNTS RECEIVABLE</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://flexiblesolutions.com/role/Inventories" id="Inventories">
          <link:definition>999018 - Disclosure - INVENTORIES</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://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" id="PropertyEquipmentAndLeaseholds">
          <link:definition>999019 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS</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://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
          <link:definition>999020 - Disclosure - GOODWILL AND 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://flexiblesolutions.com/role/LongTermDeposits" id="LongTermDeposits">
          <link:definition>999021 - Disclosure - LONG TERM DEPOSITS</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://flexiblesolutions.com/role/Investments" id="Investments">
          <link:definition>999022 - Disclosure - INVESTMENTS</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://flexiblesolutions.com/role/LineOfCredit" id="LineOfCredit">
          <link:definition>999023 - Disclosure - LINE OF CREDIT</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://flexiblesolutions.com/role/LongTermDebt" id="LongTermDebt">
          <link:definition>999024 - Disclosure - LONG TERM DEBT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomeTaxes" id="IncomeTaxes">
          <link:definition>999025 - 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://flexiblesolutions.com/role/IncomePerShare" id="IncomePerShare">
          <link:definition>999026 - Disclosure - INCOME PER SHARE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StockOptions" id="StockOptions">
          <link:definition>999027 - Disclosure - STOCK OPTIONS</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://flexiblesolutions.com/role/CapitalStock" id="CapitalStock">
          <link:definition>999028 - Disclosure - CAPITAL STOCK</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://flexiblesolutions.com/role/Non-controllingInterests" id="Non-controllingInterests">
          <link:definition>999029 - Disclosure - NON-CONTROLLING INTERESTS</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://flexiblesolutions.com/role/SegmentsAnd" id="SegmentsAnd">
          <link:definition>999030 - Disclosure - SEGMENTS AND</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://flexiblesolutions.com/role/SubsequentEvents" id="SubsequentEvents">
          <link:definition>999031 - 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://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" id="SignificantAccountingPoliciesPolicies">
          <link:definition>999032 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" id="SignificantAccountingPoliciesTables">
          <link:definition>999033 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LeasesTables" id="LeasesTables">
          <link:definition>999034 - 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://flexiblesolutions.com/role/AccountsReceivableTables" id="AccountsReceivableTables">
          <link:definition>999035 - Disclosure - ACCOUNTS RECEIVABLE (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://flexiblesolutions.com/role/InventoriesTables" id="InventoriesTables">
          <link:definition>999036 - Disclosure - INVENTORIES (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://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" id="PropertyEquipmentAndLeaseholdsTables">
          <link:definition>999037 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (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://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
          <link:definition>999038 - Disclosure - GOODWILL AND 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://flexiblesolutions.com/role/LongTermDepositsTables" id="LongTermDepositsTables">
          <link:definition>999039 - Disclosure - LONG TERM DEPOSITS (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://flexiblesolutions.com/role/InvestmentsTables" id="InvestmentsTables">
          <link:definition>999040 - Disclosure - INVESTMENTS (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://flexiblesolutions.com/role/LongTermDebtTables" id="LongTermDebtTables">
          <link:definition>999041 - Disclosure - LONG TERM DEBT (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
          <link:definition>999042 - 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://flexiblesolutions.com/role/IncomePerShareTables" id="IncomePerShareTables">
          <link:definition>999043 - Disclosure - INCOME 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://flexiblesolutions.com/role/StockOptionsTables" id="StockOptionsTables">
          <link:definition>999044 - Disclosure - STOCK OPTIONS (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://flexiblesolutions.com/role/Non-controllingInterestsTables" id="Non-controllingInterestsTables">
          <link:definition>999045 - Disclosure - NON-CONTROLLING INTERESTS (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://flexiblesolutions.com/role/SegmentsAndTables" id="SegmentsAndTables">
          <link:definition>999046 - Disclosure - SEGMENTS AND (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://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" id="BasisOfPresentationDetailsNarrative">
          <link:definition>999047 - Disclosure - BASIS OF PRESENTATION (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" id="ScheduleOfMethodOfDepreciationDetails">
          <link:definition>999048 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (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://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" id="SignificantAccountingPoliciesDetailsNarrative">
          <link:definition>999049 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" id="SummaryOfRight-of-useAssetAndLeaseLiabilityDetails">
          <link:definition>999050 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE 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://flexiblesolutions.com/role/LeasesDetailsNarrative" id="LeasesDetailsNarrative">
          <link:definition>999051 - Disclosure - LEASES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" id="ScheduleOfAccountsReceivableDetails">
          <link:definition>999052 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (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://flexiblesolutions.com/role/ScheduleOfInventoryDetails" id="ScheduleOfInventoryDetails">
          <link:definition>999053 - Disclosure - SCHEDULE OF 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://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" id="ScheduleOfPropertyEquipmentAndLeaseholdsDetails">
          <link:definition>999054 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (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://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" id="PropertyEquipmentAndLeaseholdsDetailsNarrative">
          <link:definition>999055 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" id="ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails">
          <link:definition>999056 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED 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://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" id="ScheduleOfEstimatedFutureAmortizationExpenseDetails">
          <link:definition>999057 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (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://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" id="GoodwillAndIntangibleAssetsDetailsNarrative">
          <link:definition>999058 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" id="ScheduleOfLongTermDepositsDetails">
          <link:definition>999059 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (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://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails" id="ScheduleOfCompanysInvestmentsDetails">
          <link:definition>999060 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (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://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical" id="ScheduleOfCompanysInvestmentsDetailsParenthetical">
          <link:definition>999061 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details) (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://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" id="ScheduleOfEquityMethodInvestmentDetails">
          <link:definition>999062 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (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://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical" id="ScheduleOfEquityMethodInvestmentDetailsParenthetical">
          <link:definition>999063 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (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://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" id="SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails">
          <link:definition>999064 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (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://flexiblesolutions.com/role/InvestmentsDetailsNarrative" id="InvestmentsDetailsNarrative">
          <link:definition>999065 - Disclosure - INVESTMENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative" id="LineOfCreditDetailsNarrative">
          <link:definition>999066 - Disclosure - LINE OF CREDIT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails" id="ScheduleOfLongTermDebtDetails">
          <link:definition>999067 - Disclosure - SCHEDULE OF LONG TERM DEBT (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://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical" id="ScheduleOfLongTermDebtDetailsParenthetical">
          <link:definition>999068 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details) (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://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails" id="ScheduleOfAnnualFuturePrincipalPaymentsDetails">
          <link:definition>999069 - Disclosure - SCHEDULE OF ANNUAL FUTURE PRINCIPAL 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://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" id="ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails">
          <link:definition>999070 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (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://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" id="ScheduleOfReconciliationOfIncomeTaxesDetails">
          <link:definition>999071 - Disclosure - SCHEDULE OF RECONCILIATION OF 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://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" id="ScheduleOfDeferredTaxAssetsLiabilitiesDetails">
          <link:definition>999072 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (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://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" id="ScheduleOfNonOperatingLossCarryforwardsDetails">
          <link:definition>999073 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (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://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
          <link:definition>999074 - Disclosure - INCOME TAXES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" id="ScheduleOfBasicAndDilutedLossPerShareDetails">
          <link:definition>999075 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" id="ScheduleOfAnti-dilutiveOptionsDetails">
          <link:definition>999076 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (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://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" id="IncomePerShareDetailsNarrative">
          <link:definition>999077 - Disclosure - INCOME PER SHARE (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" id="ScheduleOfStockOptionActivitiesDetails">
          <link:definition>999078 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (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://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails" id="ScheduleOfRecognizedStockBasedCompensationDetails">
          <link:definition>999079 - Disclosure - SCHEDULE OF RECOGNIZED 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://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" id="ScheduleOfStockOptionFairValueAssumptionsDetails">
          <link:definition>999080 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE 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://flexiblesolutions.com/role/StockOptionsDetailsNarrative" id="StockOptionsDetailsNarrative">
          <link:definition>999081 - Disclosure - STOCK OPTIONS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" id="CapitalStockDetailsNarrative">
          <link:definition>999082 - Disclosure - CAPITAL STOCK (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" id="ScheduleOfDistributionsDetails">
          <link:definition>999083 - Disclosure - SCHEDULE OF DISTRIBUTIONS (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://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" id="ScheduleOfNonControllingInterestRelatedToAcquisitionDetails">
          <link:definition>999084 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (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://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" id="Non-controllingInterestsDetailsNarrative">
          <link:definition>999085 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" id="ScheduleOfReportableSegmentsDetails">
          <link:definition>999086 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (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://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" id="ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails">
          <link:definition>999087 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (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://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" id="ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails">
          <link:definition>999088 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (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://flexiblesolutions.com/role/SegmentsAndDetailsNarrative" id="SegmentsAndDetailsNarrative">
          <link:definition>999089 - Disclosure - SEGMENTS AND (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" id="SubsequentEventsDetailsNarrative">
          <link:definition>999090 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20241231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20241231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20241231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20241231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
    <import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
    <import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
    <import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
    <import namespace="http://xbrl.sec.gov/cyd/2024" schemaLocation="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd" />
    <element id="FSI_CapitalInExcessOfParValueMember" name="CapitalInExcessOfParValueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MendotaLLCMember" name="MendotaLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCAndENPMendotaMember" name="ENPInvestmentsLLCAndENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruMember" name="ENPPeruMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnrelatedPartyMember" name="UnrelatedPartyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsAndENPMendotaMember" name="ENPInvestmentsAndENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FirstTermMember" name="FirstTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SecondTermMember" name="SecondTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThirdTermMember" name="ThirdTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FourthTermMember" name="FourthTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreePrimaryCustomersMember" name="ThreePrimaryCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FloridaBasedLLCMember" name="FloridaBasedLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LygosIncMember" name="LygosIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TrioOpportunityCorpMember" name="TrioOpportunityCorpMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockBankMember" name="StockBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCMember" name="ENPInvestmentsLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NewAgreementMember" name="NewAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemSolutionIncMember" name="NanoChemSolutionIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardAndBankMember" name="StockYardAndBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NoncontrollingInterestsMember" name="NoncontrollingInterestsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankAndTrustMember" name="StockYardsBankAndTrustMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermLoanMember" name="TermLoanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPMendotaMember" name="ENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemMember" name="NanoChemMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruOneMember" name="ENPPeruOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruTwoMember" name="ENPPeruTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemOneMember" name="NanoChemOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemTwoMember" name="NanoChemTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruInvestmentsMember" name="ENPPeruInvestmentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FederalAndStatedIncomeTaxMember" name="FederalAndStatedIncomeTaxMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyTaxYearMember" name="TwoThousandThirtyTaxYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyOneYearMember" name="TwoThousandThirtyOneYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyTwoYearMember" name="TwoThousandThirtyTwoYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtySevenYearMember" name="TwoThousandThirtySevenYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandThirtyNineYearMember" name="TwoThousandThirtyNineYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandFourtyYearMember" name="TwoThousandFourtyYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandFourtyOneYearMember" name="TwoThousandFourtyOneYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandFourtyTwoYearMember" name="TwoThousandFourtyTwoYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TwoThousandFourtyThreeYearMember" name="TwoThousandFourtyThreeYearMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultantsMember" name="ConsultantsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EmployeesMember" name="EmployeesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_WagesAndAdministrativeSalariesMember" name="WagesAndAdministrativeSalariesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultingMember" name="ConsultingMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultantStockOptionMember" name="ConsultantStockOptionMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OwnershipInterestPurchaseAgreementMember" name="OwnershipInterestPurchaseAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreeCustomersMember" name="ThreeCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EWCPMember" name="EWCPMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SegmentMember" name="SegmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BCPAMember" name="BCPAMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OtherMember" name="OtherMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnitedStatesandAbroadMember" name="UnitedStatesandAbroadMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Consulting" name="Consulting" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestorRelationsAndTransferAgentFee" name="InvestorRelationsAndTransferAgentFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ShippingCost" name="ShippingCost" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Commissions" name="Commissions" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseTerminationFee" name="LeaseTerminationFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ProceedsFromRedemptionOfInvestments" name="ProceedsFromRedemptionOfInvestments" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ProceedsFromNoncontrollingInterestOfMendota" name="ProceedsFromNoncontrollingInterestOfMendota" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLeasesAbstract" name="DisclosureLeasesAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLongTermDepositsAbstract" name="DisclosureLongTermDepositsAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LongTermDepositsTextBlock" name="LongTermDepositsTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermDepositsPolicyTextBlock" name="TermDepositsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" name="StockIssuedInExchangeForServicesPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" name="ScheduleOfMethodOfDepreciationTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" name="SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfLongTermDepositsTableTextBlock" name="ScheduleOfLongTermDepositsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" name="ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" name="ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfDistributionsTableTextBlock" name="ScheduleOfDistributionsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" name="ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_IncreaseDecreaseInSharePercentage" name="IncreaseDecreaseInSharePercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RemainingInvestmentOwnedPercentage" name="RemainingInvestmentOwnedPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DepreciationMethodUsedAndAnnualRate" name="DepreciationMethodUsedAndAnnualRate" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MinimumInterestPenalty" name="MinimumInterestPenalty" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConcentrationRiskThresholdPercentage" name="ConcentrationRiskThresholdPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" name="OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseInterestExpense" name="LeaseInterestExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" name="OperatingLeaseLiabilityEarlyTerminationOfLease" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EquityMethodInvestmentSale" name="EquityMethodInvestmentSale" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RealizedInvestmentGainsLossesNet" name="RealizedInvestmentGainsLossesNet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EquityMethodInvestmentRemainingPercentage" name="EquityMethodInvestmentRemainingPercentage" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EligiblePercentageOfDomesticAccountsReceivable" name="EligiblePercentageOfDomesticAccountsReceivable" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PercentageOfDomesticAccountsReceivableOfInventory" name="PercentageOfDomesticAccountsReceivableOfInventory" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PercentageOfInterestOnUnpaidPrincipalBalance" name="PercentageOfInterestOnUnpaidPrincipalBalance" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LoanGuaranteedRate" name="LoanGuaranteedRate" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PercentageOfForeignAccountsReceivableOfInventory" name="PercentageOfForeignAccountsReceivableOfInventory" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LongTermDebtTable" name="LongTermDebtTable" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" />
    <element id="FSI_LongTermDebtLineItems" name="LongTermDebtLineItems" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_CurrentTax" name="CurrentTax" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_IncomeTaxRecovery" name="IncomeTaxRecovery" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" name="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ExpectedIncomeTaxRecovery" name="ExpectedIncomeTaxRecovery" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetsShareIssuanceCosts" name="DeferredTaxAssetsShareIssuanceCosts" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" name="DeferredTaxAssetsPropertyPlantsAndEquipment" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" name="DeferredTaxAssetsPropertyPlantsAndEquipmentOne" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetsLiabilities" name="DeferredTaxAssetsLiabilities" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DeferredTaxAssetNotRecognized" name="DeferredTaxAssetNotRecognized" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>12
<FILENAME>fsi-20241231_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.25b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20241231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheets" xlink:href="fsi-20241231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:href="fsi-20241231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:href="fsi-20241231.xsd#StatementsOfIncomeAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:href="fsi-20241231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:href="fsi-20241231.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#CybersecurityRiskManagementAndStrategyDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#MaterialCybersecurityIncidentDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20241231.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20241231.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20241231.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20241231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20241231.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20241231.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20241231.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LineOfCredit" xlink:href="fsi-20241231.xsd#LineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20241231.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxes" xlink:href="fsi-20241231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShare" xlink:href="fsi-20241231.xsd#IncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20241231.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20241231.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20241231.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAnd" xlink:href="fsi-20241231.xsd#SegmentsAnd" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20241231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20241231.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20241231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20241231.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20241231.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20241231.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20241231.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:href="fsi-20241231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:href="fsi-20241231.xsd#IncomePerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20241231.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20241231.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAndTables" xlink:href="fsi-20241231.xsd#SegmentsAndTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20241231.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20241231.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20241231.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20241231.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20241231.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20241231.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfCompanysInvestmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20241231.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20241231.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20241231.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative" xlink:href="fsi-20241231.xsd#LineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDebtDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDebtDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:href="fsi-20241231.xsd#ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:href="fsi-20241231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:href="fsi-20241231.xsd#ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAnti-dilutiveOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:href="fsi-20241231.xsd#IncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails" xlink:href="fsi-20241231.xsd#ScheduleOfRecognizedStockBasedCompensationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20241231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20241231.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20241231.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20241231.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20241231.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative" xlink:href="fsi-20241231.xsd#SegmentsAndDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20241231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCash" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:title="00000004 - Statement - Consolidated Statements of Income and Comprehensive Income">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIConsulting" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIShippingCost" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSICommissions" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LeaseTerminationFee" xlink:label="loc_FSILeaseTerminationFee" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_FSILeaseTerminationFee" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseOther" xlink:label="loc_us-gaapInterestExpenseOther" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapInterestExpenseOther" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfLandHeldForUse" xlink:label="loc_us-gaapProceedsFromSaleOfLandHeldForUse" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfLandHeldForUse" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="loc_us-gaapProceedsFromSaleOfProductiveAssets" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfProductiveAssets" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ProceedsFromRedemptionOfInvestments" xlink:label="loc_FSIProceedsFromRedemptionOfInvestments" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIProceedsFromRedemptionOfInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:label="loc_FSIProceedsFromNoncontrollingInterestOfMendota" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIProceedsFromNoncontrollingInterestOfMendota" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:label="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Consolidated Statements of Stockholders&apos; Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:title="00000012 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure" />
    <link:calculationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure" xlink:title="00000013 - Disclosure - Material Cybersecurity Incident Disclosure" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="999014 - Disclosure - BASIS OF PRESENTATION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="999015 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="999016 - Disclosure - LEASES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="999017 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="999018 - Disclosure - INVENTORIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="999019 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="999020 - Disclosure - GOODWILL AND INTANGIBLE ASSETS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="999021 - Disclosure - LONG TERM DEPOSITS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="999022 - Disclosure - INVESTMENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LineOfCredit" xlink:title="999023 - Disclosure - LINE OF CREDIT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="999024 - Disclosure - LONG TERM DEBT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxes" xlink:title="999025 - Disclosure - INCOME TAXES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShare" xlink:title="999026 - Disclosure - INCOME PER SHARE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="999027 - Disclosure - STOCK OPTIONS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="999028 - Disclosure - CAPITAL STOCK" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="999029 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAnd" xlink:title="999030 - Disclosure - SEGMENTS AND" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="999031 - Disclosure - SUBSEQUENT EVENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="999032 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="999033 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="999034 - Disclosure - LEASES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="999035 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="999036 - Disclosure - INVENTORIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="999037 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="999038 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="999039 - Disclosure - LONG TERM DEPOSITS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="999040 - Disclosure - INVESTMENTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="999041 - Disclosure - LONG TERM DEBT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:title="999042 - Disclosure - INCOME TAXES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:title="999043 - Disclosure - INCOME PER SHARE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="999044 - Disclosure - STOCK OPTIONS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="999045 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAndTables" xlink:title="999046 - Disclosure - SEGMENTS AND (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="999047 - Disclosure - BASIS OF PRESENTATION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="999048 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="999049 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="999050 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="999051 - Disclosure - LEASES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="999052 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="999053 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="999054 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="999055 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="999056 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedCustomerListsGross" xlink:label="loc_us-gaapFiniteLivedCustomerListsGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedCustomerListsGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="999057 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="999058 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="999059 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails" xlink:title="999060 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:title="999061 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details) (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="999062 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:title="999063 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="999064 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="999065 - Disclosure - INVESTMENTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative" xlink:title="999066 - Disclosure - LINE OF CREDIT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails" xlink:title="999067 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical" xlink:title="999068 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:title="999069 - Disclosure - SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:title="999070 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_CurrentTax" xlink:label="loc_FSICurrentTax" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSICurrentTax" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSICurrentTax" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentForeignTaxExpenseBenefit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSICurrentTax" xlink:to="loc_us-gaapCurrentForeignTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:to="loc_FSICurrentTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:to="loc_FSIIncomeTaxRecovery" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:title="999071 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:title="999072 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsShareIssuanceCosts" xlink:label="loc_FSIDeferredTaxAssetsShareIssuanceCosts" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_FSIDeferredTaxAssetsShareIssuanceCosts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsNet" xlink:to="loc_us-gaapDeferredTaxAssetsGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsNet" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesInvestments" xlink:label="loc_us-gaapDeferredTaxLiabilitiesInvestments" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsLiabilities" xlink:label="loc_FSIDeferredTaxAssetsLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSIDeferredTaxAssetsLiabilities" xlink:to="loc_us-gaapDeferredTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_FSIDeferredTaxAssetsLiabilities" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:title="999073 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:title="999074 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:title="999075 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:title="999076 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:title="999077 - Disclosure - INCOME PER SHARE (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="999078 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails" xlink:title="999079 - Disclosure - SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="999080 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="999081 - Disclosure - STOCK OPTIONS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="999082 - Disclosure - CAPITAL STOCK (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="999083 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="999084 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="999085 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="999086 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="999087 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="999088 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative" xlink:title="999089 - Disclosure - SEGMENTS AND (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="999090 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>13
<FILENAME>fsi-20241231_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.25b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20241231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheets" xlink:href="fsi-20241231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:href="fsi-20241231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:href="fsi-20241231.xsd#StatementsOfIncomeAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:href="fsi-20241231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:href="fsi-20241231.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#CybersecurityRiskManagementAndStrategyDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#MaterialCybersecurityIncidentDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20241231.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20241231.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20241231.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20241231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20241231.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20241231.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20241231.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LineOfCredit" xlink:href="fsi-20241231.xsd#LineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20241231.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxes" xlink:href="fsi-20241231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShare" xlink:href="fsi-20241231.xsd#IncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20241231.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20241231.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20241231.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAnd" xlink:href="fsi-20241231.xsd#SegmentsAnd" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20241231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20241231.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20241231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20241231.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20241231.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20241231.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20241231.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:href="fsi-20241231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:href="fsi-20241231.xsd#IncomePerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20241231.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20241231.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAndTables" xlink:href="fsi-20241231.xsd#SegmentsAndTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20241231.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20241231.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20241231.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20241231.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20241231.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20241231.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfCompanysInvestmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20241231.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20241231.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20241231.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative" xlink:href="fsi-20241231.xsd#LineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDebtDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDebtDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:href="fsi-20241231.xsd#ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:href="fsi-20241231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:href="fsi-20241231.xsd#ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAnti-dilutiveOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:href="fsi-20241231.xsd#IncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails" xlink:href="fsi-20241231.xsd#ScheduleOfRecognizedStockBasedCompensationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20241231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20241231.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20241231.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20241231.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20241231.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative" xlink:href="fsi-20241231.xsd#SegmentsAndDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20241231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosureWithAdditionalMeasures" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpDisclosureWithAdditionalMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpTable" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpTable" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsToCompensation" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpAdjustmentsToCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListsByExecutiveCategory" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#TabularListsByExecutiveCategory" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TabularListMeasures" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#TabularListMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpMeasures" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpMeasures" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpExecutiveCategoriesOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpAdjustmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#IndividualsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/AwardTypeOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardTypeOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#TradingArrangmentsOnly" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ForgoneRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ForgoneRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/OutstandingRecoveries" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#OutstandingRecoveries" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardsCloseToMnpiDisc" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardsCloseToMnpiDisc" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangementsByInd" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangemenstByInd" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/Defaults" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#Defaults" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:title="00000004 - Statement - Consolidated Statements of Income and Comprehensive Income" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Consolidated Statements of Cash Flows" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Consolidated Statements of Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_FSICapitalInExcessOfParValueMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapParentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividends_80" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="loc_us-gaapNoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_80" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss_80" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_80" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_80" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_80" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:title="00000012 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure" xlink:title="00000013 - Disclosure - Material Cybersecurity Incident Disclosure" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="999014 - Disclosure - BASIS OF PRESENTATION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="999015 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="999016 - Disclosure - LEASES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="999017 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="999018 - Disclosure - INVENTORIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="999019 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="999020 - Disclosure - GOODWILL AND INTANGIBLE ASSETS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="999021 - Disclosure - LONG TERM DEPOSITS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="999022 - Disclosure - INVESTMENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LineOfCredit" xlink:title="999023 - Disclosure - LINE OF CREDIT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="999024 - Disclosure - LONG TERM DEBT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxes" xlink:title="999025 - Disclosure - INCOME TAXES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShare" xlink:title="999026 - Disclosure - INCOME PER SHARE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="999027 - Disclosure - STOCK OPTIONS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="999028 - Disclosure - CAPITAL STOCK" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="999029 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAnd" xlink:title="999030 - Disclosure - SEGMENTS AND" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="999031 - Disclosure - SUBSEQUENT EVENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="999032 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="999033 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="999034 - Disclosure - LEASES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="999035 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="999036 - Disclosure - INVENTORIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="999037 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="999038 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="999039 - Disclosure - LONG TERM DEPOSITS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="999040 - Disclosure - INVESTMENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock" xlink:label="loc_us-gaapInvestmentHoldingsScheduleOfInvestmentsTableTextBlock_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestmentHoldingsScheduleOfInvestmentsTableTextBlock_30" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock_30" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock_30" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="999041 - Disclosure - LONG TERM DEBT (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:title="999042 - Disclosure - INCOME TAXES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:title="999043 - Disclosure - INCOME PER SHARE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="999044 - Disclosure - STOCK OPTIONS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="999045 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAndTables" xlink:title="999046 - Disclosure - SEGMENTS AND (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="999047 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsAndENPMendotaMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsAndENPMendotaMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_90" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="999048 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate_60" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="999049 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapScheduleOfProductInformationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FirstTermMember" xlink:label="loc_FSIFirstTermMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFirstTermMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SecondTermMember" xlink:label="loc_FSISecondTermMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSISecondTermMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThirdTermMember" xlink:label="loc_FSIThirdTermMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIThirdTermMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FourthTermMember" xlink:label="loc_FSIFourthTermMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFourthTermMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember_60" xlink:type="arc" order="62" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_80" xlink:type="arc" order="82" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_110" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MinimumInterestPenalty" xlink:label="loc_FSIMinimumInterestPenalty_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIMinimumInterestPenalty_110" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_110" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold_110" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage_110" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="999050 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="999051 - Disclosure - LEASES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="999052 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="999053 - Disclosure - SCHEDULE OF INVENTORY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="999054 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_170" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="999055 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="999056 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="999057 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="999058 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="999059 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails" xlink:title="999060 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestments_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_90" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:title="999061 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestments_20" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="999062 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:label="loc_us-gaapEquityMethodInvestmentDividendsOrDistributions_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDividendsOrDistributions_60" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EquityMethodInvestmentSale" xlink:label="loc_FSIEquityMethodInvestmentSale_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentSale_60" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:title="999063 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_50" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="999064 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="999065 - Disclosure - INVESTMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfLandHeldForUse" xlink:label="loc_us-gaapProceedsFromSaleOfLandHeldForUse_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapProceedsFromSaleOfLandHeldForUse_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EquityMethodInvestmentRemainingPercentage" xlink:label="loc_FSIEquityMethodInvestmentRemainingPercentage_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIEquityMethodInvestmentRemainingPercentage_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_90" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues_90" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_90" xlink:type="arc" order="5" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative" xlink:title="999066 - Disclosure - LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember_70" xlink:type="arc" order="73" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="24" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember_60" xlink:type="arc" order="63" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NoncontrollingInterestsMember" xlink:label="loc_FSINoncontrollingInterestsMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_FSINoncontrollingInterestsMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_140" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_140" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfDomesticAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfDomesticAccountsReceivableOfInventory_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfDomesticAccountsReceivableOfInventory_140" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_140" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfInterestOnUnpaidPrincipalBalance" xlink:label="loc_FSIPercentageOfInterestOnUnpaidPrincipalBalance_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfInterestOnUnpaidPrincipalBalance_140" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_140" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate_140" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent_140" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings_140" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_140" xlink:type="arc" order="9" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails" xlink:title="999067 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtLineItems" xlink:label="loc_FSILongTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtTable" xlink:label="loc_FSILongTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_FSILongTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockYardsBankAndTrustMember" xlink:label="loc_FSIStockYardsBankAndTrustMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankAndTrustMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember_20" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruTwoMember" xlink:label="loc_FSIENPPeruTwoMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruTwoMember_60" xlink:type="arc" order="62" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemOneMember" xlink:label="loc_FSINanoChemOneMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemOneMember_80" xlink:type="arc" order="82" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaLLCMember_100" xlink:type="arc" order="102" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemTwoMember" xlink:label="loc_FSINanoChemTwoMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemTwoMember_120" xlink:type="arc" order="122" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebt_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent_170" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical" xlink:title="999068 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtLineItems" xlink:label="loc_FSILongTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtTable" xlink:label="loc_FSILongTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_FSILongTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember_80" xlink:type="arc" order="82" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember_120" xlink:type="arc" order="122" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemOneMember" xlink:label="loc_FSINanoChemOneMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemOneMember_160" xlink:type="arc" order="162" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_200" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaLLCMember_200" xlink:type="arc" order="202" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemTwoMember" xlink:label="loc_FSINanoChemTwoMember_240" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemTwoMember_240" xlink:type="arc" order="242" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm_290" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm_290" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate_290" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate_290" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTerm" xlink:label="loc_us-gaapLongTermDebtTerm_290" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtTerm_290" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_290" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_290" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt_290" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt_290" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:title="999069 - Disclosure - SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:title="999070 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:title="999071 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:title="999072 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsShareIssuanceCosts" xlink:label="loc_FSIDeferredTaxAssetsShareIssuanceCosts_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsShareIssuanceCosts_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsGross_50" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance_50" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsNet_50" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne_50" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssets_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssets_50" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesInvestments" xlink:label="loc_us-gaapDeferredTaxLiabilitiesInvestments_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxLiabilitiesInvestments_50" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilities_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilities_50" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsLiabilities" xlink:label="loc_FSIDeferredTaxAssetsLiabilities_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsLiabilities_50" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:title="999073 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaapTaxPeriodAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapTaxPeriodAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaapTaxPeriodDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTaxPeriodAxis" xlink:to="loc_us-gaapTaxPeriodDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaapTaxPeriodDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTaxPeriodAxis" xlink:to="loc_us-gaapTaxPeriodDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyTaxYearMember" xlink:label="loc_FSITwoThousandThirtyTaxYearMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTaxYearMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyOneYearMember" xlink:label="loc_FSITwoThousandThirtyOneYearMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyOneYearMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyTwoYearMember" xlink:label="loc_FSITwoThousandThirtyTwoYearMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTwoYearMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtySevenYearMember" xlink:label="loc_FSITwoThousandThirtySevenYearMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtySevenYearMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyNineYearMember" xlink:label="loc_FSITwoThousandThirtyNineYearMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyNineYearMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyYearMember" xlink:label="loc_FSITwoThousandFourtyYearMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyYearMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyOneYearMember" xlink:label="loc_FSITwoThousandFourtyOneYearMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyOneYearMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyTwoYearMember" xlink:label="loc_FSITwoThousandFourtyTwoYearMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyTwoYearMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyThreeYearMember" xlink:label="loc_FSITwoThousandFourtyThreeYearMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyThreeYearMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards_110" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:title="999074 - Disclosure - INCOME TAXES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FederalAndStatedIncomeTaxMember" xlink:label="loc_FSIFederalAndStatedIncomeTaxMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_FSIFederalAndStatedIncomeTaxMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIIncomeTaxRecovery_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLimitationsOnUse" xlink:label="loc_us-gaapOperatingLossCarryforwardsLimitationsOnUse_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsLimitationsOnUse_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsPeriodIncreaseDecrease_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsPeriodIncreaseDecrease_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaapUnrecognizedTaxBenefits_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapUnrecognizedTaxBenefits_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:label="loc_us-gaapIncomeTaxExaminationPenaltiesAndInterestAccrued_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapIncomeTaxExaminationPenaltiesAndInterestAccrued_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_70" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:title="999075 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:title="999076 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:title="999077 - Disclosure - INCOME PER SHARE (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued_30" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding_30" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="999078 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_160" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_160" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_160" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_160" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_160" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_160" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_160" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_160" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_160" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_160" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_160" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_160" xlink:type="arc" order="17" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails" xlink:title="999079 - Disclosure - SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_WagesAndAdministrativeSalariesMember" xlink:label="loc_FSIWagesAndAdministrativeSalariesMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_FSIWagesAndAdministrativeSalariesMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultingMember" xlink:label="loc_FSIConsultingMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_FSIConsultingMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapShareBasedCompensation_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="999080 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="999081 - Disclosure - STOCK OPTIONS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_110" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_110" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_110" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_110" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_110" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_110" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_110" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_110" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_110" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_110" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="999082 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultantStockOptionMember" xlink:label="loc_FSIConsultantStockOptionMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_FSIConsultantStockOptionMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividends_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_90" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_90" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="999083 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="999084 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="999085 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_70" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="999086 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_BCPAMember" xlink:label="loc_FSIBCPAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIBCPAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OtherMember" xlink:label="loc_FSIOtherMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIOtherMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapGrossProfit_170" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesWagesAndOfficersCompensation" xlink:label="loc_us-gaapSalariesWagesAndOfficersCompensation_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapSalariesWagesAndOfficersCompensation_170" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapOtherGeneralExpense_170" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingOtherItemAmount" xlink:label="loc_us-gaapSegmentReportingOtherItemAmount_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapSegmentReportingOtherItemAmount_170" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss_170" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseOperating" xlink:label="loc_us-gaapInterestExpenseOperating_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpenseOperating_170" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationAndAmortization_170" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_170" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapAssets_170" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="999087 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="999088 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="loc_countryUS_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative" xlink:title="999089 - Disclosure - SEGMENTS AND (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivablePercentPastDue1" xlink:label="loc_us-gaapFinancingReceivablePercentPastDue1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapFinancingReceivablePercentPastDue1_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="999090 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSubsequentEventTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_20" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_20" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpExecutiveCategoriesOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpAdjustmentsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" />
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/AwardTypeOnly">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultantStockOptionMember" xlink:label="loc_FSIConsultantStockOptionMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_FSIConsultantStockOptionMember" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/TradingArrangementsOnly" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>14
<FILENAME>fsi-20241231_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.25b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="FSI_CapitalInExcessOfParValueMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_CapitalInExcessOfParValueMember_lbl" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US">Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US">Ownership [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="FSI_MendotaLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MendotaLLCMember_lbl" xml:lang="en-US">317 Mendota LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruMember" xlink:label="FSI_ENPPeruMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruMember_lbl" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related and Nonrelated Parties [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_UnrelatedPartyMember" xlink:label="FSI_UnrelatedPartyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnrelatedPartyMember_lbl" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsAndENPMendotaMember" xlink:label="FSI_ENPInvestmentsAndENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsAndENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsAndENPMendotaMember_lbl" xml:lang="en-US">ENP Investments And 317 ENP Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xml:lang="en-US">Short-Term Debt, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FirstTermMember" xlink:label="FSI_FirstTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FirstTermMember" xlink:to="FSI_FirstTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FirstTermMember_lbl" xml:lang="en-US">First Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SecondTermMember" xlink:label="FSI_SecondTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SecondTermMember" xlink:to="FSI_SecondTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SecondTermMember_lbl" xml:lang="en-US">Second Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThirdTermMember" xlink:label="FSI_ThirdTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThirdTermMember" xlink:to="FSI_ThirdTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThirdTermMember_lbl" xml:lang="en-US">Third Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FourthTermMember" xlink:label="FSI_FourthTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FourthTermMember" xlink:to="FSI_FourthTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FourthTermMember_lbl" xml:lang="en-US">Fourth Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US">Shipping and Handling [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="FSI_ThreePrimaryCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreePrimaryCustomersMember_lbl" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="us-gaap_RevenueFromContractWithCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerMember" xlink:to="us-gaap_RevenueFromContractWithCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerMember_lbl" xml:lang="en-US">Revenue from Contract with Customer Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficeEquipmentMember" xlink:to="us-gaap_OfficeEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficeEquipmentMember_lbl" xml:lang="en-US">Office Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="us-gaap_AutomobilesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AutomobilesMember" xlink:to="us-gaap_AutomobilesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AutomobilesMember_lbl" xml:lang="en-US">Automobiles [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="us-gaap_TechnologyEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TechnologyEquipmentMember" xlink:to="us-gaap_TechnologyEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TechnologyEquipmentMember_lbl" xml:lang="en-US">Technology Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US">Legal Entity [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="FSI_FloridaBasedLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FloridaBasedLLCMember_lbl" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LygosIncMember" xlink:label="FSI_LygosIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LygosIncMember_lbl" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="FSI_TrioOpportunityCorpMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TrioOpportunityCorpMember_lbl" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassBMember" xlink:to="us-gaap_CommonClassBMember_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US">Lender Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockBankMember" xlink:label="FSI_StockBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockBankMember_lbl" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="FSI_ENPInvestmentsLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCMember_lbl" xml:lang="en-US">ENP Investments, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NewAgreementMember" xlink:label="FSI_NewAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NewAgreementMember_lbl" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemSolutionIncMember" xlink:label="FSI_NanoChemSolutionIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemSolutionIncMember_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockYardAndBankMember" xlink:label="FSI_StockYardAndBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardAndBankMember_lbl" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NoncontrollingInterestsMember" xlink:label="FSI_NoncontrollingInterestsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NoncontrollingInterestsMember" xlink:to="FSI_NoncontrollingInterestsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_NoncontrollingInterestsMember_lbl" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockYardsBankAndTrustMember" xlink:label="FSI_StockYardsBankAndTrustMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankAndTrustMember" xlink:to="FSI_StockYardsBankAndTrustMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankAndTrustMember_lbl" xml:lang="en-US">Stock Yards Bank And Trust [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US">Debt Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TermLoanMember" xlink:label="FSI_TermLoanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermLoanMember_lbl" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPMendotaMember" xlink:label="FSI_ENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPMendotaMember_lbl" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemMember" xlink:label="FSI_NanoChemMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemMember_lbl" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruOneMember" xlink:label="FSI_ENPPeruOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruOneMember_lbl" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruTwoMember" xlink:label="FSI_ENPPeruTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruTwoMember" xlink:to="FSI_ENPPeruTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruTwoMember_lbl" xml:lang="en-US">ENP Peru Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemOneMember" xlink:label="FSI_NanoChemOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemOneMember" xlink:to="FSI_NanoChemOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemOneMember_lbl" xml:lang="en-US">Nano Chem One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemTwoMember" xlink:label="FSI_NanoChemTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemTwoMember" xlink:to="FSI_NanoChemTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemTwoMember_lbl" xml:lang="en-US">Nano Chem Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="FSI_ENPPeruInvestmentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruInvestmentsMember_lbl" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="us-gaap_CanadaRevenueAgencyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CanadaRevenueAgencyMember" xlink:to="us-gaap_CanadaRevenueAgencyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CanadaRevenueAgencyMember_lbl" xml:lang="en-US">Canada Revenue Agency [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FederalAndStatedIncomeTaxMember" xlink:label="FSI_FederalAndStatedIncomeTaxMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FederalAndStatedIncomeTaxMember" xlink:to="FSI_FederalAndStatedIncomeTaxMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FederalAndStatedIncomeTaxMember_lbl" xml:lang="en-US">Federal And Stated Income Tax [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxPeriodAxis_lbl" xml:lang="en-US">Tax Period [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyTaxYearMember" xlink:label="FSI_TwoThousandThirtyTaxYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTaxYearMember" xlink:to="FSI_TwoThousandThirtyTaxYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyTaxYearMember_lbl" xml:lang="en-US">2030 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyOneYearMember" xlink:label="FSI_TwoThousandThirtyOneYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyOneYearMember" xlink:to="FSI_TwoThousandThirtyOneYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyOneYearMember_lbl" xml:lang="en-US">2031 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyTwoYearMember" xlink:label="FSI_TwoThousandThirtyTwoYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTwoYearMember" xlink:to="FSI_TwoThousandThirtyTwoYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyTwoYearMember_lbl" xml:lang="en-US">2032 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtySevenYearMember" xlink:label="FSI_TwoThousandThirtySevenYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtySevenYearMember" xlink:to="FSI_TwoThousandThirtySevenYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtySevenYearMember_lbl" xml:lang="en-US">2037 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyNineYearMember" xlink:label="FSI_TwoThousandThirtyNineYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyNineYearMember" xlink:to="FSI_TwoThousandThirtyNineYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandThirtyNineYearMember_lbl" xml:lang="en-US">2039 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyYearMember" xlink:label="FSI_TwoThousandFourtyYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyYearMember" xlink:to="FSI_TwoThousandFourtyYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandFourtyYearMember_lbl" xml:lang="en-US">2040 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyOneYearMember" xlink:label="FSI_TwoThousandFourtyOneYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyOneYearMember" xlink:to="FSI_TwoThousandFourtyOneYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandFourtyOneYearMember_lbl" xml:lang="en-US">2041 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyTwoYearMember" xlink:label="FSI_TwoThousandFourtyTwoYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyTwoYearMember" xlink:to="FSI_TwoThousandFourtyTwoYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandFourtyTwoYearMember_lbl" xml:lang="en-US">2042 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyThreeYearMember" xlink:label="FSI_TwoThousandFourtyThreeYearMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyThreeYearMember" xlink:to="FSI_TwoThousandFourtyThreeYearMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TwoThousandFourtyThreeYearMember_lbl" xml:lang="en-US">2043 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title and Position [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultantsMember" xlink:label="FSI_ConsultantsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultantsMember_lbl" xml:lang="en-US">Consultants [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EmployeesMember" xlink:label="FSI_EmployeesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EmployeesMember_lbl" xml:lang="en-US">Employees [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US">Statement of Income Location, Balance [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_WagesAndAdministrativeSalariesMember" xlink:label="FSI_WagesAndAdministrativeSalariesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_WagesAndAdministrativeSalariesMember" xlink:to="FSI_WagesAndAdministrativeSalariesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_WagesAndAdministrativeSalariesMember_lbl" xml:lang="en-US">Wages And Administrative Salaries [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultingMember" xlink:label="FSI_ConsultingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultingMember" xlink:to="FSI_ConsultingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultingMember_lbl" xml:lang="en-US">Consulting [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultantStockOptionMember" xlink:label="FSI_ConsultantStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantStockOptionMember" xlink:to="FSI_ConsultantStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultantStockOptionMember_lbl" xml:lang="en-US">Consultant Stock Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThreeCustomersMember" xlink:label="FSI_ThreeCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreeCustomersMember_lbl" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EWCPMember" xlink:label="FSI_EWCPMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EWCPMember_lbl" xml:lang="en-US">EWCP [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SegmentMember" xlink:label="FSI_SegmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SegmentMember_lbl" xml:lang="en-US">Segment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_BCPAMember" xlink:label="FSI_BCPAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BCPAMember" xlink:to="FSI_BCPAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BCPAMember_lbl" xml:lang="en-US">BCPA [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OtherMember" xlink:label="FSI_OtherMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OtherMember" xlink:to="FSI_OtherMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OtherMember_lbl" xml:lang="en-US">Other [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US">CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="FSI_UnitedStatesandAbroadMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnitedStatesandAbroadMember" xlink:to="FSI_UnitedStatesandAbroadMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnitedStatesandAbroadMember_lbl" xml:lang="en-US">United States and Abroad [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorOpinionTextBlock" xlink:label="dei_AuditorOpinionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorOpinionTextBlock" xlink:to="dei_AuditorOpinionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorOpinionTextBlock_lbl" xml:lang="en-US">Auditor Opinion [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="us-gaap_DepositsAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsCurrent" xlink:to="us-gaap_DepositsAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsCurrent_lbl" xml:lang="en-US">Term deposits (Note 2)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net (Note 4)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventories (Note 5)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xml:lang="en-US">Prepaid expenses and deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, equipment and leaseholds, net (Note 6)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right of use assets (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:type="arc" />
      <link: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 (Note 7)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsNoncurrent_lbl" xml:lang="en-US">Long term deposits (Note 8)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Investments (Note 9)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill (Note 7)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax asset (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAbstract_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueCurrent" xlink:to="us-gaap_DeferredRevenueCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="us-gaap_LinesOfCreditCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LinesOfCreditCurrent_lbl" xml:lang="en-US">Short term line of credit (Note 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US">Current portion of lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion of long term debt (Note 11)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Net deferred income tax liability (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" xlink:type="arc" />
      <link: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 (Note 11)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies (Notes 9 and 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Capital in excess of par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Accumulated earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders&#8217; equity &#8211; controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Non-controlling interests (Note 16)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total Liabilities and Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link: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 value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of sales (Note 6 &amp; 7)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesAndWages" xlink:label="us-gaap_SalariesAndWages" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalariesAndWages" xlink:to="us-gaap_SalariesAndWages_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalariesAndWages_lbl" xml:lang="en-US">Wages</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficersCompensation" xlink:label="us-gaap_OfficersCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficersCompensation" xlink:to="us-gaap_OfficersCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficersCompensation_lbl" xml:lang="en-US">Administrative salaries and benefits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="us-gaap_GeneralInsuranceExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralInsuranceExpense" xlink:to="us-gaap_GeneralInsuranceExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralInsuranceExpense_lbl" xml:lang="en-US">Insurance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="us-gaap_OtherGeneralExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherGeneralExpense" xlink:to="us-gaap_OtherGeneralExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherGeneralExpense_lbl" xml:lang="en-US">Office and miscellaneous</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_Consulting" xlink:label="FSI_Consulting" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Consulting_lbl" xml:lang="en-US">Consulting</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfessionalFees" xlink:to="us-gaap_ProfessionalFees_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfessionalFees_lbl" xml:lang="en-US">Professional fees</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="us-gaap_UtilitiesOperatingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UtilitiesOperatingExpense" xlink:to="us-gaap_UtilitiesOperatingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UtilitiesOperatingExpense_lbl" xml:lang="en-US">Utilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="us-gaap_TravelAndEntertainmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TravelAndEntertainmentExpense" xlink:to="us-gaap_TravelAndEntertainmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TravelAndEntertainmentExpense_lbl" xml:lang="en-US">Travel</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US">Advertising and promotion</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="FSI_InvestorRelationsAndTransferAgentFee" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_lbl" xml:lang="en-US">Investor relations and transfer agent fee</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Lease expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="us-gaap_CommunicationsAndInformationTechnology" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommunicationsAndInformationTechnology" xlink:to="us-gaap_CommunicationsAndInformationTechnology_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommunicationsAndInformationTechnology_lbl" xml:lang="en-US">Telecommunications</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ShippingCost" xlink:label="FSI_ShippingCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ShippingCost_lbl" xml:lang="en-US">Shipping</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_Commissions" xlink:label="FSI_Commissions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Commissions_lbl" xml:lang="en-US">Commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Currency exchange</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US">Non-operating income (expense)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US">Gain on investments (Note 9)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="us-gaap_GainLossOnSaleOfInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfInvestments" xlink:to="us-gaap_GainLossOnSaleOfInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfInvestments_lbl" xml:lang="en-US">Loss on sale of investment (Note 9)</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LeaseTerminationFee" xlink:label="FSI_LeaseTerminationFee" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseTerminationFee" xlink:to="FSI_LeaseTerminationFee_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_LeaseTerminationFee_lbl" xml:lang="en-US">Loss on lease termination</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseOther" xlink:label="us-gaap_InterestExpenseOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseOther" xlink:to="us-gaap_InterestExpenseOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpenseOther_lbl" xml:lang="en-US">Interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeOther" xlink:to="us-gaap_InterestIncomeOther_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Total non-operating income (expenses)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xml:lang="en-US">Income taxes (Note 12)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax (expense) benefit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current income tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net income for the year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Net income attributable to non-controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income attributable to controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Income per share (basic)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Income per share (diluted)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of common shares (basic)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of common shares (diluted)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xml:lang="en-US">Other comprehensive income:</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_2_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Unrealized gain (loss) on foreign currency transactions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total comprehensive income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income &#8211; non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive income attributable to controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Operating activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_3_lbl" xml:lang="en-US">Net income for the year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnInvestments_2_lbl" xml:lang="en-US">Gain on investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfInvestments" xlink:to="us-gaap_GainLossOnSaleOfInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfInvestments_2_lbl" xml:lang="en-US">Loss on sale of investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US">Gain on sale of asset</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred income tax expense (recovery)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in assets and liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Inventories</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xml:lang="en-US">Prepaid expenses and deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInDepositOtherAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInDepositOtherAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDepositOtherAssets_lbl" xml:lang="en-US">Long term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US">Accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Cash provided by operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfLandHeldForUse" xlink:label="us-gaap_ProceedsFromSaleOfLandHeldForUse" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfLandHeldForUse" xlink:to="us-gaap_ProceedsFromSaleOfLandHeldForUse_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfLandHeldForUse_lbl" xml:lang="en-US">Sale of investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US">Distributions received from equity investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl" xml:lang="en-US">Proceeds from sale of asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Purchase of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="us-gaap_PaymentsToAcquireInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Purchase of investments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ProceedsFromRedemptionOfInvestments" xlink:label="FSI_ProceedsFromRedemptionOfInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromRedemptionOfInvestments" xlink:to="FSI_ProceedsFromRedemptionOfInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ProceedsFromRedemptionOfInvestments_lbl" xml:lang="en-US">Redemption of investments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:label="FSI_ProceedsFromNoncontrollingInterestOfMendota" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:to="FSI_ProceedsFromNoncontrollingInterestOfMendota_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ProceedsFromNoncontrollingInterestOfMendota_lbl" xml:lang="en-US">Non-controlling interest of 317 Mendota</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Cash used in investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:label="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:to="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_lbl" xml:lang="en-US">Advance (repayment) of line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayment of long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US">Proceeds of long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends" xlink:label="us-gaap_PaymentsOfDividends" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividends_lbl" xml:lang="en-US">Dividends paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US">Distribution to non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Shares issued upon exercise of stock options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Cash provided by (used in) financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Effect of foreign exchange rate changes on cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Increase in cash and term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash and term deposits, beginning of year</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">Cash and cash equivalents, ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xml:lang="en-US">Cash and term deposits is comprised of:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income taxes paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xml:lang="en-US">Translation adjustment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Dividends" xlink:label="us-gaap_Dividends" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Dividends" xlink:to="us-gaap_Dividends_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_Dividends_lbl" xml:lang="en-US">Dividends paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US">Non-controlling interest of 317 Mendota LLC</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Common shares issued upon exercise of stock options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Common shares issued upon exercise of stock options, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US">Distributions to noncontrolling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xml:lang="en-US">Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_2_lbl" xml:lang="en-US">Balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTable" xlink:label="ecd_PvpTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTable" xlink:to="ecd_PvpTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTable_lbl" xml:lang="en-US">Pay vs Performance Disclosure [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ExecutiveCategoryAxis" xlink:label="ecd_ExecutiveCategoryAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ExecutiveCategoryAxis" xlink:to="ecd_ExecutiveCategoryAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ExecutiveCategoryAxis_lbl" xml:lang="en-US">Executive Category [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="ecd_IndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_IndividualAxis" xlink:to="ecd_IndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_IndividualAxis_lbl" xml:lang="en-US">Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAxis" xlink:label="ecd_AdjToCompAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAxis" xlink:to="ecd_AdjToCompAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAxis_lbl" xml:lang="en-US">Adjustment to Compensation [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureAxis" xlink:label="ecd_MeasureAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureAxis" xlink:to="ecd_MeasureAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureAxis_lbl" xml:lang="en-US">Measure [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTableTextBlock" xlink:label="ecd_PvpTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PvpTableTextBlock" xlink:to="ecd_PvpTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PvpTableTextBlock_lbl" xml:lang="en-US">Pay vs Performance Disclosure, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureName" xlink:label="ecd_CoSelectedMeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureName" xlink:to="ecd_CoSelectedMeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureName_lbl" xml:lang="en-US">Company Selected Measure Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NamedExecutiveOfficersFnTextBlock" xlink:to="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NamedExecutiveOfficersFnTextBlock_lbl" xml:lang="en-US">Named Executive Officers, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="ecd_PeerGroupIssuersFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupIssuersFnTextBlock" xlink:to="ecd_PeerGroupIssuersFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupIssuersFnTextBlock_lbl" xml:lang="en-US">Peer Group Issuers, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="ecd_ChangedPeerGroupFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ChangedPeerGroupFnTextBlock" xlink:to="ecd_ChangedPeerGroupFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ChangedPeerGroupFnTextBlock_lbl" xml:lang="en-US">Changed Peer Group, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoTotalCompAmt" xlink:label="ecd_PeoTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoTotalCompAmt" xlink:to="ecd_PeoTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoTotalCompAmt_lbl" xml:lang="en-US">PEO Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="ecd_PeoActuallyPaidCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoActuallyPaidCompAmt" xlink:to="ecd_PeoActuallyPaidCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoActuallyPaidCompAmt_lbl" xml:lang="en-US">PEO Actually Paid Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="ecd_AdjToPeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToPeoCompFnTextBlock" xlink:to="ecd_AdjToPeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToPeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment To PEO Compensation, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgTotalCompAmt" xlink:to="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgTotalCompAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Total Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:to="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonPeoNeoAvgCompActuallyPaidAmt_lbl" xml:lang="en-US">Non-PEO NEO Average Compensation Actually Paid Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:to="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToNonPeoNeoCompFnTextBlock_lbl" xml:lang="en-US">Adjustment to Non-PEO NEO Compensation Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:to="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_EquityValuationAssumptionDifferenceFnTextBlock_lbl" xml:lang="en-US">Equity Valuation Assumption Difference, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:to="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Total Shareholder Return</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:to="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsNetIncomeTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Net Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Company Selected Measure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:to="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnVsPeerGroupTextBlock_lbl" xml:lang="en-US">Total Shareholder Return Vs Peer Group</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:to="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CompActuallyPaidVsOtherMeasureTextBlock_lbl" xml:lang="en-US">Compensation Actually Paid vs. Other Measure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TabularListTableTextBlock" xlink:label="ecd_TabularListTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TabularListTableTextBlock" xlink:to="ecd_TabularListTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TabularListTableTextBlock_lbl" xml:lang="en-US">Tabular List, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnAmt" xlink:label="ecd_TotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TotalShareholderRtnAmt" xlink:to="ecd_TotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TotalShareholderRtnAmt_lbl" xml:lang="en-US">Total Shareholder Return Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeerGroupTotalShareholderRtnAmt" xlink:to="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeerGroupTotalShareholderRtnAmt_lbl" xml:lang="en-US">Peer Group Total Shareholder Return Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net Income (Loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureAmt" xlink:label="ecd_CoSelectedMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_CoSelectedMeasureAmt" xlink:to="ecd_CoSelectedMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_CoSelectedMeasureAmt_lbl" xml:lang="en-US">Company Selected Measure Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OtherPerfMeasureAmt" xlink:label="ecd_OtherPerfMeasureAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OtherPerfMeasureAmt" xlink:to="ecd_OtherPerfMeasureAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OtherPerfMeasureAmt_lbl" xml:lang="en-US">Other Performance Measure, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAmt" xlink:label="ecd_AdjToCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AdjToCompAmt" xlink:to="ecd_AdjToCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AdjToCompAmt_lbl" xml:lang="en-US">Adjustment to Compensation, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoName" xlink:label="ecd_PeoName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PeoName" xlink:to="ecd_PeoName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PeoName_lbl" xml:lang="en-US">PEO Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureName" xlink:label="ecd_MeasureName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MeasureName" xlink:to="ecd_MeasureName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MeasureName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonGaapMeasureDescriptionTextBlock" xlink:to="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonGaapMeasureDescriptionTextBlock_lbl" xml:lang="en-US">Non-GAAP Measure Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="ecd_Additional402vDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Additional402vDisclosureTextBlock" xlink:to="ecd_Additional402vDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Additional402vDisclosureTextBlock_lbl" xml:lang="en-US">Additional 402(v) Disclosure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnBnftsAdjFnTextBlock" xlink:label="ecd_PnsnBnftsAdjFnTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_PnsnBnftsAdjFnTextBlock" xlink:to="ecd_PnsnBnftsAdjFnTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_PnsnBnftsAdjFnTextBlock_lbl" xml:lang="en-US">Pension Benefits Adjustments, Footnote</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompRecoveryTable" xlink:label="ecd_ErrCompRecoveryTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompRecoveryTable" xlink:to="ecd_ErrCompRecoveryTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompRecoveryTable_lbl" xml:lang="en-US">Erroneously Awarded Compensation Recovery [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDateAxis" xlink:label="ecd_RestatementDateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDateAxis" xlink:to="ecd_RestatementDateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDateAxis_lbl" xml:lang="en-US">Restatement Determination Date [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDeterminationDate" xlink:label="ecd_RestatementDeterminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDeterminationDate" xlink:to="ecd_RestatementDeterminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDeterminationDate_lbl" xml:lang="en-US">Restatement Determination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompAmt" xlink:label="ecd_AggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompAmt" xlink:to="ecd_AggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompAmt_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="ecd_ErrCompAnalysisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ErrCompAnalysisTextBlock" xlink:to="ecd_ErrCompAnalysisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ErrCompAnalysisTextBlock_lbl" xml:lang="en-US">Erroneous Compensation Analysis</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:to="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_StkPrcOrTsrEstimationMethodTextBlock_lbl" xml:lang="en-US">Stock Price or TSR Estimation Method</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="ecd_OutstandingAggtErrCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingAggtErrCompAmt" xlink:to="ecd_OutstandingAggtErrCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingAggtErrCompAmt_lbl" xml:lang="en-US">Outstanding Aggregate Erroneous Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:to="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AggtErrCompNotYetDeterminedTextBlock_lbl" xml:lang="en-US">Aggregate Erroneous Compensation Not Yet Determined</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryIndName" xlink:label="ecd_ForgoneRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_ForgoneRecoveryIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:to="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt_lbl" xml:lang="en-US">Forgone Recovery due to Expense of Enforcement, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:to="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt_lbl" xml:lang="en-US">Forgone Recovery due to Violation of Home Country Law, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt_lbl" xml:lang="en-US">Forgone Recovery due to Disqualification of Tax Benefits, Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:to="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock_lbl" xml:lang="en-US">Forgone Recovery, Explanation of Impracticability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryIndName" xlink:label="ecd_OutstandingRecoveryIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_OutstandingRecoveryIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="ecd_OutstandingRecoveryCompAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryCompAmt" xlink:to="ecd_OutstandingRecoveryCompAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryCompAmt_lbl" xml:lang="en-US">Compensation Amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:to="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_RestatementDoesNotRequireRecoveryTextBlock_lbl" xml:lang="en-US">Restatement does not require Recovery</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="ecd_AwardsCloseToMnpiDiscTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTable" xlink:to="ecd_AwardsCloseToMnpiDiscTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTable_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="ecd_AwardTmgMnpiDiscTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiDiscTextBlock" xlink:to="ecd_AwardTmgMnpiDiscTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiDiscTextBlock_lbl" xml:lang="en-US">Award Timing MNPI Disclosure</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="ecd_AwardTmgMethodTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMethodTextBlock" xlink:to="ecd_AwardTmgMethodTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMethodTextBlock_lbl" xml:lang="en-US">Award Timing Method</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="ecd_AwardTmgPredtrmndFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgPredtrmndFlag" xlink:to="ecd_AwardTmgPredtrmndFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgPredtrmndFlag_lbl" xml:lang="en-US">Award Timing Predetermined</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgMnpiCnsdrdFlag" xlink:to="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgMnpiCnsdrdFlag_lbl" xml:lang="en-US">Award Timing MNPI Considered</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:to="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardTmgHowMnpiCnsdrdTextBlock_lbl" xml:lang="en-US">Award Timing, How MNPI Considered</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="ecd_MnpiDiscTimedForCompValFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MnpiDiscTimedForCompValFlag" xlink:to="ecd_MnpiDiscTimedForCompValFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MnpiDiscTimedForCompValFlag_lbl" xml:lang="en-US">MNPI Disclosure Timed for Compensation Value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:to="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscTableTextBlock_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Table</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="ecd_AwardsCloseToMnpiDiscIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="ecd_AwardUndrlygSecuritiesAmt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardUndrlygSecuritiesAmt" xlink:to="ecd_AwardUndrlygSecuritiesAmt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardUndrlygSecuritiesAmt_lbl" xml:lang="en-US">Underlying Securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardExrcPrice" xlink:label="ecd_AwardExrcPrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardExrcPrice" xlink:to="ecd_AwardExrcPrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardExrcPrice_lbl" xml:lang="en-US">Exercise Price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardGrantDateFairValue" xlink:label="ecd_AwardGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardGrantDateFairValue" xlink:to="ecd_AwardGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardGrantDateFairValue_lbl" xml:lang="en-US">Fair Value as of Grant Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="ecd_UndrlygSecurityMktPriceChngPct" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_UndrlygSecurityMktPriceChngPct" xlink:to="ecd_UndrlygSecurityMktPriceChngPct_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_UndrlygSecurityMktPriceChngPct_lbl" xml:lang="en-US">Underlying Security Market Price Change</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrByIndTable" xlink:label="ecd_TradingArrByIndTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TradingArrByIndTable" xlink:to="ecd_TradingArrByIndTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TradingArrByIndTable_lbl" xml:lang="en-US">Trading Arrangements, by Individual [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrAxis" xlink:label="ecd_TradingArrAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TradingArrAxis" xlink:to="ecd_TradingArrAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TradingArrAxis_lbl" xml:lang="en-US">Trading Arrangement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock_lbl" xml:lang="en-US">Material Terms of Trading Arrangement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndName" xlink:label="ecd_TrdArrIndName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="ecd_TrdArrIndName_lbl" xml:lang="en-US">Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndTitle" xlink:label="ecd_TrdArrIndTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndTitle" xlink:to="ecd_TrdArrIndTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndTitle_lbl" xml:lang="en-US">Title</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrAdoptionDate" xlink:label="ecd_TrdArrAdoptionDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrAdoptionDate" xlink:to="ecd_TrdArrAdoptionDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrAdoptionDate_lbl" xml:lang="en-US">Adoption Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrTerminationDate" xlink:label="ecd_TrdArrTerminationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrTerminationDate" xlink:to="ecd_TrdArrTerminationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrTerminationDate_lbl" xml:lang="en-US">Termination Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrExpirationDate" xlink:label="ecd_TrdArrExpirationDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrExpirationDate" xlink:to="ecd_TrdArrExpirationDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrExpirationDate_lbl" xml:lang="en-US">Expiration Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrDuration" xlink:label="ecd_TrdArrDuration" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrDuration" xlink:to="ecd_TrdArrDuration_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrDuration_lbl" xml:lang="en-US">Arrangement Duration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="ecd_InsiderTradingPoliciesProcLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingPoliciesProcLineItems" xlink:to="ecd_InsiderTradingPoliciesProcLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingPoliciesProcLineItems_lbl" xml:lang="en-US">Insider Trading Policies and Procedures [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:to="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcAdoptedFlag_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:to="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock_lbl" xml:lang="en-US">Insider Trading Policies and Procedures Not Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:to="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract_lbl" xml:lang="en-US">Cybersecurity Risk Management, Strategy, and Governance [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:label="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedFlag" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesIntegratedFlag" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedFlag_lbl" xml:lang="en-US">Cybersecurity Risk Management Processes Integrated [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Management Processes Integrated [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" xlink:label="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" xlink:to="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag_lbl" xml:lang="en-US">Cybersecurity Risk Management Third Party Engaged [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag" xlink:label="cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag" xlink:to="cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag_lbl" xml:lang="en-US">Cybersecurity Risk Third Party Oversight and Identification Processes [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag" xlink:label="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag" xlink:to="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag_lbl" xml:lang="en-US">Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock" xlink:label="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock" xlink:to="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:label="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:to="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Board of Directors Oversight [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:label="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:to="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:label="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:to="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskRoleOfManagementTextBlock" xlink:label="cyd_CybersecurityRiskRoleOfManagementTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskRoleOfManagementTextBlock" xlink:to="cyd_CybersecurityRiskRoleOfManagementTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskRoleOfManagementTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Role of Management [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag" xlink:to="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag_lbl" xml:lang="en-US">Cybersecurity Risk Management Positions or Committees Responsible [Flag]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock" xlink:to="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Management Positions or Committees Responsible [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentAbstract" xlink:label="cyd_MaterialCybersecurityIncidentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_MaterialCybersecurityIncidentAbstract" xlink:to="cyd_MaterialCybersecurityIncidentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_MaterialCybersecurityIncidentAbstract_lbl" xml:lang="en-US">Material Cybersecurity Incident [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentNatureTextBlock" xlink:label="cyd_MaterialCybersecurityIncidentNatureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_MaterialCybersecurityIncidentNatureTextBlock" xlink:to="cyd_MaterialCybersecurityIncidentNatureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_MaterialCybersecurityIncidentNatureTextBlock_lbl" xml:lang="en-US">Material Cybersecurity Incident Nature [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentScopeTextBlock" xlink:label="cyd_MaterialCybersecurityIncidentScopeTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_MaterialCybersecurityIncidentScopeTextBlock" xlink:to="cyd_MaterialCybersecurityIncidentScopeTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_MaterialCybersecurityIncidentScopeTextBlock_lbl" xml:lang="en-US">Material Cybersecurity Incident Scope [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentTimingTextBlock" xlink:label="cyd_MaterialCybersecurityIncidentTimingTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_MaterialCybersecurityIncidentTimingTextBlock" xlink:to="cyd_MaterialCybersecurityIncidentTimingTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_MaterialCybersecurityIncidentTimingTextBlock_lbl" xml:lang="en-US">Material Cybersecurity Incident Timing [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock" xlink:label="cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock" xlink:to="cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock_lbl" xml:lang="en-US">Material Cybersecurity Incident Material Impact or Reasonably Likely Material Impact [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock" xlink:label="cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock" xlink:to="cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock_lbl" xml:lang="en-US">Material Cybersecurity Incident Information Not Available or Undetermined [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US">BASIS OF PRESENTATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="FSI_DisclosureLeasesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeasesAbstract" xlink:to="FSI_DisclosureLeasesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLeasesAbstract_lbl" xml:lang="en-US">Leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">LEASES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Receivables [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="us-gaap_FinancingReceivablesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivablesTextBlock" xlink:to="us-gaap_FinancingReceivablesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivablesTextBlock_lbl" xml:lang="en-US">ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">INVENTORIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">PROPERTY, EQUIPMENT AND LEASEHOLDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">GOODWILL AND INTANGIBLE ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="FSI_DisclosureLongTermDepositsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDepositsAbstract" xlink:to="FSI_DisclosureLongTermDepositsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLongTermDepositsAbstract_lbl" xml:lang="en-US">Long Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDepositsTextBlock" xlink:label="FSI_LongTermDepositsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LongTermDepositsTextBlock_lbl" xml:lang="en-US">LONG TERM DEPOSITS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xml:lang="en-US">Equity Method Investments and Joint Ventures [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US">INVESTMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="us-gaap_ShortTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTextBlock" xlink:to="us-gaap_ShortTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTextBlock_lbl" xml:lang="en-US">LINE OF CREDIT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="us-gaap_LongTermDebtAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAbstract" xlink:to="us-gaap_LongTermDebtAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtAbstract_lbl" xml:lang="en-US">Long-Term Debt, Unclassified [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xml:lang="en-US">LONG TERM DEBT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">INCOME TAXES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">INCOME PER SHARE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">STOCK OPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl" xml:lang="en-US">Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">CAPITAL STOCK</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_NoncontrollingInterestAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestAbstract_lbl" xml:lang="en-US">Noncontrolling Interest [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDisclosureTextBlock" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xml:lang="en-US">NON-CONTROLLING INTERESTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">SEGMENTS AND</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xlink:type="arc" />
      <link: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 [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="FSI_TermDepositsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermDepositsPolicyTextBlock_lbl" xml:lang="en-US">Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories and Cost of Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:to="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xml:lang="en-US">Allowance for Doubtful Accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Equipment, Leaseholds and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">mpairment of Long-Lived Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xml:lang="en-US">Stock Issued in Exchange for Services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:to="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xml:lang="en-US">Stock-based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US">Other Comprehensive Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Income Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US">Contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Risk Management</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US">Leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US">Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xml:lang="en-US">Reclassification</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF METHOD OF DEPRECIATION</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xml:lang="en-US">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF INVENTORY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:to="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:type="arc" />
      <link: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 ESTIMATED FUTURE AMORTIZATION EXPENSE</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG TERM DEPOSITS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock" xlink:label="us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock" xlink:to="us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF COMPANY&#8217;S INVESTMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF EQUITY METHOD INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestmentsTextBlock" xlink:to="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xml:lang="en-US">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG TERM DEBT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:type="arc" />
      <link: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 PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:type="arc" />
      <link: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 RECONCILIATION OF INCOME TAXES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link: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 (LIABILITIES)</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:label="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:to="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:type="arc" />
      <link: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 BASIC AND DILUTED LOSS PER SHARE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ANTI-DILUTIVE OPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF STOCK OPTION ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" xlink:label="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" xlink:to="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:type="arc" />
      <link: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 STOCK OPTION FAIR VALUE ASSUMPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF DISTRIBUTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">SCHEDULE OF REPORTABLE SEGMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xlink:type="arc" />
      <link: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 GENERATED IN UNITED STATES AND CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:to="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xml:lang="en-US">Subsidiary company ownership interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="FSI_IncreaseDecreaseInSharePercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_IncreaseDecreaseInSharePercentage_lbl" xml:lang="en-US">Increase decrease in share percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="FSI_RemainingInvestmentOwnedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RemainingInvestmentOwnedPercentage_lbl" xml:lang="en-US">Remaining investment owned percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xlink:type="arc" />
      <link: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 percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xml:lang="en-US">Depreciation method used and annual rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="us-gaap_ScheduleOfProductInformationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductInformationTable" xlink:to="us-gaap_ScheduleOfProductInformationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductInformationTable_lbl" xml:lang="en-US">Nature of Operation, Product Information, Concentration of Risk [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductInformationLineItems" xlink:label="us-gaap_ProductInformationLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductInformationLineItems" xlink:to="us-gaap_ProductInformationLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductInformationLineItems_lbl" xml:lang="en-US">Product Information [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Deposits" xlink:label="us-gaap_Deposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Deposits" xlink:to="us-gaap_Deposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Deposits_lbl" xml:lang="en-US">Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MinimumInterestPenalty" xlink:label="FSI_MinimumInterestPenalty" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MinimumInterestPenalty" xlink:to="FSI_MinimumInterestPenalty_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MinimumInterestPenalty_lbl" xml:lang="en-US">Minimum interest penalty</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_2_lbl" xml:lang="en-US">Cost of sales</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="FSI_ConcentrationRiskThresholdPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConcentrationRiskThresholdPercentage_lbl" xml:lang="en-US">Concentration risk threshold percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeasesAbstract" xlink:to="FSI_DisclosureLeasesAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLeasesAbstract_2_lbl" xml:lang="en-US">Summary Of Right-of-use Asset And Lease Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xml:lang="en-US">Right of use assets, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Right of use assets, Amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_lbl" xml:lang="en-US">Right of use assets, early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xml:lang="en-US">Right of use assets, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Lease liability, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LeaseInterestExpense" xlink:label="FSI_LeaseInterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseInterestExpense_lbl" xml:lang="en-US">Lease interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Payments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_lbl" xml:lang="en-US">Lease liability, early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseLiability_2_lbl" xml:lang="en-US">Lease liability, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLeaseIncomeLeasePayments" xlink:label="us-gaap_OperatingLeaseLeaseIncomeLeasePayments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLeaseIncomeLeasePayments" xlink:to="us-gaap_OperatingLeaseLeaseIncomeLeasePayments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLeaseIncomeLeasePayments_lbl" xml:lang="en-US">Payment of penalty</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecurityDeposit" xlink:label="us-gaap_SecurityDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecurityDeposit" xlink:to="us-gaap_SecurityDeposit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecurityDeposit_lbl" xml:lang="en-US">Security deposit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="us-gaap_GainLossOnTerminationOfLease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnTerminationOfLease" xlink:to="us-gaap_GainLossOnTerminationOfLease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnTerminationOfLease_lbl" xml:lang="en-US">Loss on terminating lease</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGross_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xml:lang="en-US">Allowances for doubtful accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="us-gaap_AccountsAndNotesReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsAndNotesReceivableNet_lbl" xml:lang="en-US">Total accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Completed goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsAndSupplies" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xml:lang="en-US">Raw materials and supplies</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Total inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xml:lang="en-US">Property, plant and equipment, net, total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl" xml:lang="en-US">Sale of assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_2_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xml:lang="en-US">Intangibles Assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xml:lang="en-US">Indefinite lived &#8211; trade secrets and trademarks</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedCustomerListsGross" xlink:label="us-gaap_FiniteLivedCustomerListsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedCustomerListsGross" xlink:to="us-gaap_FiniteLivedCustomerListsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedCustomerListsGross_lbl" xml:lang="en-US">Definite lived &#8211; customer lists</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated amortization on definite-lived intangibles assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Net definite-lived intangible assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_2_lbl" xml:lang="en-US">Total intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2028</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">2029</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDepositsAbstract" xlink:to="FSI_DisclosureLongTermDepositsAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLongTermDepositsAbstract_2_lbl" xml:lang="en-US">Schedule Of Long Term Deposits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepositsAssetsNoncurrent_2_lbl" xml:lang="en-US">Long term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Investments, at cost:</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestments_2_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Investments_2_lbl" xml:lang="en-US">Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_EquityMethodInvestments_3_lbl" xml:lang="en-US">Balance, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US">Company's proportionate share of earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:to="us-gaap_EquityMethodInvestmentDividendsOrDistributions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions_lbl" xml:lang="en-US">Distribution received</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EquityMethodInvestmentSale" xlink:label="FSI_EquityMethodInvestmentSale" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentSale" xlink:to="FSI_EquityMethodInvestmentSale_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EquityMethodInvestmentSale_lbl" xml:lang="en-US">Basis of 30.1% of interest sold</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_EquityMethodInvestments_4_lbl" xml:lang="en-US">Balance, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xml:lang="en-US">Equity Method Investment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US">Schedule of Equity Method Investments [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Ownership percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:to="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xml:lang="en-US">Net sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="us-gaap_RealizedInvestmentGainsLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealizedInvestmentGainsLosses" xlink:to="us-gaap_RealizedInvestmentGainsLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RealizedInvestmentGainsLosses_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="FSI_RealizedInvestmentGainsLossesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_RealizedInvestmentGainsLossesNet_lbl" xml:lang="en-US">Net income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfLandHeldForUse" xlink:to="us-gaap_ProceedsFromSaleOfLandHeldForUse_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromSaleOfLandHeldForUse_2_lbl" xml:lang="en-US">Unrelated party for consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EquityMethodInvestmentRemainingPercentage" xlink:label="FSI_EquityMethodInvestmentRemainingPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentRemainingPercentage" xlink:to="FSI_EquityMethodInvestmentRemainingPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EquityMethodInvestmentRemainingPercentage_lbl" xml:lang="en-US">Ownership remaining percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_5_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestments_5_lbl" xml:lang="en-US">Equity method investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xlink:type="arc" />
      <link: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 related parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Aggregate amount of revolving line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xml:lang="en-US">Eligible percentage of domestic accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfDomesticAccountsReceivableOfInventory" xlink:label="FSI_PercentageOfDomesticAccountsReceivableOfInventory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfDomesticAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfDomesticAccountsReceivableOfInventory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PercentageOfDomesticAccountsReceivableOfInventory_lbl" xml:lang="en-US">Percentage of domestic accounts receivable of inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Debt face amount</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfInterestOnUnpaidPrincipalBalance" xlink:label="FSI_PercentageOfInterestOnUnpaidPrincipalBalance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfInterestOnUnpaidPrincipalBalance" xlink:to="FSI_PercentageOfInterestOnUnpaidPrincipalBalance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PercentageOfInterestOnUnpaidPrincipalBalance_lbl" xml:lang="en-US">Interest rate on unpaid principal balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LoanGuaranteedRate" xlink:label="FSI_LoanGuaranteedRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LoanGuaranteedRate_lbl" xml:lang="en-US">Loan guaranteed rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LinesOfCreditCurrent_2_lbl" xml:lang="en-US">Line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US">Short term borrowings</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xml:lang="en-US">Percentage of foreign accounts receivable of inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtTable" xlink:label="FSI_LongTermDebtTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDebtTable" xlink:to="FSI_LongTermDebtTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LongTermDebtTable_lbl" xml:lang="en-US">LongTermDebtTable [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtLineItems" xlink:label="FSI_LongTermDebtLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDebtLineItems" xlink:to="FSI_LongTermDebtLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LongTermDebtLineItems_lbl" xml:lang="en-US">LongTermDebtLineItems [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US">Long-term debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LongTermDebtCurrent_2_lbl" xml:lang="en-US">Less: current portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_2_lbl" xml:lang="en-US">Long-term debt non current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US">Debt instrument term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:label="us-gaap_LongTermDebtPercentageBearingFixedInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:to="us-gaap_LongTermDebtPercentageBearingFixedInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtPercentageBearingFixedInterestRate_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTerm" xlink:label="us-gaap_LongTermDebtTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTerm" xlink:to="us-gaap_LongTermDebtTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtTerm_lbl" xml:lang="en-US">Long term debt, term</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_3_lbl" xml:lang="en-US">Debt interest rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xml:lang="en-US">Repayment of debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xml:lang="en-US">2028</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xml:lang="en-US">Thereafter</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_2_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax, federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax, state</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US">Current tax, foreign</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_CurrentTax" xlink:label="FSI_CurrentTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CurrentTax" xlink:to="FSI_CurrentTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="FSI_CurrentTax_lbl" xml:lang="en-US">Current tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncomeTaxRecovery" xlink:label="FSI_IncomeTaxRecovery" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeTaxRecovery" xlink:to="FSI_IncomeTaxRecovery_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_IncomeTaxRecovery_lbl" xml:lang="en-US">Income tax benefit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Current tax, total expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax, federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax, state</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax, foreign</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_3_lbl" xml:lang="en-US">Deferred income tax, total expense (benefit)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xml:lang="en-US">Income before income tax - United States</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xml:lang="en-US">Income before income tax - Canada</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" xlink:label="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" xlink:to="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_lbl" xml:lang="en-US">Income before income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">US federal statutory tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ExpectedIncomeTaxRecovery" xlink:label="FSI_ExpectedIncomeTaxRecovery" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ExpectedIncomeTaxRecovery" xlink:to="FSI_ExpectedIncomeTaxRecovery_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ExpectedIncomeTaxRecovery_lbl" xml:lang="en-US">Expected income tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income tax expense, net of federal tax benefit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl" xml:lang="en-US">Non-deductible items</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl" xml:lang="en-US">Change in estimates and other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Foreign tax rate differential</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Total income taxes expense (benefit)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="us-gaap_OperatingLossCarryforwardsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwardsTable" xlink:to="us-gaap_OperatingLossCarryforwardsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwardsTable_lbl" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carryforwards</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsShareIssuanceCosts" xlink:label="FSI_DeferredTaxAssetsShareIssuanceCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsShareIssuanceCosts" xlink:to="FSI_DeferredTaxAssetsShareIssuanceCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DeferredTaxAssetsShareIssuanceCosts_lbl" xml:lang="en-US">Share issuance costs</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_lbl" xml:lang="en-US">Property, equipment and leaseholds</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Deferred tax asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Net deferred tax asset</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_lbl" xml:lang="en-US">Property, equipment and leaseholds</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_lbl" xml:lang="en-US">Intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesInvestments" xlink:label="us-gaap_DeferredTaxLiabilitiesInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesInvestments" xlink:to="us-gaap_DeferredTaxLiabilitiesInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesInvestments_lbl" xml:lang="en-US">Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsLiabilities" xlink:label="FSI_DeferredTaxAssetsLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsLiabilities" xlink:to="FSI_DeferredTaxAssetsLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="FSI_DeferredTaxAssetsLiabilities_lbl" xml:lang="en-US">Net deferred tax asset (liability)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Total</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeTaxRecovery" xlink:to="FSI_IncomeTaxRecovery_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_IncomeTaxRecovery_2_lbl" xml:lang="en-US">Current income tax expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_2_lbl" xml:lang="en-US">Operating loss carryforward</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLimitationsOnUse" xlink:label="us-gaap_OperatingLossCarryforwardsLimitationsOnUse" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwardsLimitationsOnUse" xlink:to="us-gaap_OperatingLossCarryforwardsLimitationsOnUse_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwardsLimitationsOnUse_lbl" xml:lang="en-US">Limited utilization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:to="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_lbl" xml:lang="en-US">Unrecognized tax benefits, increased</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Unrecognized tax benefits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:label="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:to="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_lbl" xml:lang="en-US">Accrued interest and penalties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xml:lang="en-US">Unrecognized accrued interest and penalties</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net income attributable to controlling interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xml:lang="en-US">Basic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xml:lang="en-US">Diluted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_2_lbl" xml:lang="en-US">Net income per common share attributable to controlling interest: Basic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_2_lbl" xml:lang="en-US">Net income per common share attributable to controlling interest: Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Anti-dilutive options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of shares, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Number of shares, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Cancelled or expired</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Number of shares, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Number of shares, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Granted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xml:lang="en-US">Number of shares, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xml:lang="en-US">Exercise price per share, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted average exercise price, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of shares Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected life - years</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Volatility</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average fair value of options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US">Options granted percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Vested term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Options maximum granted term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of stock options to employees</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted-average remaining contractual life, outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted-average remaining contractual life, exercisable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Stock vested compensation non vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Weighted average period expected to be recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options, outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options, exercisable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options exercised</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3_lbl" xml:lang="en-US">Stock options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="us-gaap_DividendsPayableAmountPerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl" xml:lang="en-US">Dividends per share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Dividends" xlink:to="us-gaap_Dividends_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Dividends_2_lbl" xml:lang="en-US">Dividends</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Consultant for services, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Consultant for services, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xml:lang="en-US">Consolidation, Less-than-Wholly-Owned Subsidiary, Parent Ownership Interest, Effect of Change [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xml:lang="en-US">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_MinorityInterest_2_lbl" xml:lang="en-US">Non-controlling interests, Beginning balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xml:lang="en-US">Distribution</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Non-controlling interest share of income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_MinorityInterest_3_lbl" xml:lang="en-US">Non-controlling interests, Ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:to="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xml:lang="en-US">Non-controlling interests, Acquisition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_lbl" xml:lang="en-US">Non-controlling interest share of loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US">Related party owner ship percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_2_lbl" xml:lang="en-US">Partnership distribution to non-controlling interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_2_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xml:lang="en-US">Segment Reporting, Revenue from External Customer, Product and Service [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesWagesAndOfficersCompensation" xlink:label="us-gaap_SalariesWagesAndOfficersCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalariesWagesAndOfficersCompensation" xlink:to="us-gaap_SalariesWagesAndOfficersCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalariesWagesAndOfficersCompensation_lbl" xml:lang="en-US">Wages and administrative salaries</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherGeneralExpense" xlink:to="us-gaap_OtherGeneralExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherGeneralExpense_2_lbl" xml:lang="en-US">Office &amp; Miscellaneous</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingOtherItemAmount" xlink:label="us-gaap_SegmentReportingOtherItemAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingOtherItemAmount" xlink:to="us-gaap_SegmentReportingOtherItemAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingOtherItemAmount_lbl" xml:lang="en-US">Other segment items</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Net operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseOperating" xlink:label="us-gaap_InterestExpenseOperating" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseOperating" xlink:to="us-gaap_InterestExpenseOperating_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseOperating_lbl" xml:lang="en-US">Interest expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationAndAmortization_2_lbl" xml:lang="en-US">Depreciation (included in COGS)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Capital expenditures</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xml:lang="en-US">Schedule of Revenue by Major Customers, by Reporting Segments [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US">Revenue, Major Customer [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US">Number of operating segments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNet_2_lbl" xml:lang="en-US">Accounts receivable, after allowance for credit loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivablePercentPastDue1" xlink:label="us-gaap_FinancingReceivablePercentPastDue1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivablePercentPastDue1" xlink:to="us-gaap_FinancingReceivablePercentPastDue1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivablePercentPastDue1_lbl" xml:lang="en-US">Sale percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Stock option issued upon exercise</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_4_lbl" xml:lang="en-US">Exercise of employee stock options</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Consulting_doc" xml:lang="en-US">Consulting.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_doc" xml:lang="en-US">Investor relations aand transfer agent fee.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ShippingCost_doc" xml:lang="en-US">Shipping cost.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Commissions_doc" xml:lang="en-US">Commissions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseTerminationFee" xlink:to="FSI_LeaseTerminationFee_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseTerminationFee_doc" xml:lang="en-US">Lease termination fee.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:to="FSI_ProceedsFromNoncontrollingInterestOfMendota_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ProceedsFromNoncontrollingInterestOfMendota_doc" xml:lang="en-US">Proceeds from noncontrolling interest of mendota.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ProceedsFromRedemptionOfInvestments" xlink:to="FSI_ProceedsFromRedemptionOfInvestments_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ProceedsFromRedemptionOfInvestments_doc" xml:lang="en-US">Proceeds from redemption of investments.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_CapitalInExcessOfParValueMember_doc" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MendotaLLCMember_doc" xml:lang="en-US">317 Mendota LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_IncreaseDecreaseInSharePercentage_doc" xml:lang="en-US">Increase decrease in share percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruMember_doc" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_UnrelatedPartyMember_doc" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RemainingInvestmentOwnedPercentage_doc" xml:lang="en-US">Remaining investment owned percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsAndENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsAndENPMendotaMember_doc" xml:lang="en-US">ENP Investments And 317 ENP Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermDepositsPolicyTextBlock_doc" xml:lang="en-US">Term Deposits [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FirstTermMember" xlink:to="FSI_FirstTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FirstTermMember_doc" xml:lang="en-US">First Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SecondTermMember" xlink:to="FSI_SecondTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SecondTermMember_doc" xml:lang="en-US">Second Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MinimumInterestPenalty" xlink:to="FSI_MinimumInterestPenalty_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MinimumInterestPenalty_doc" xml:lang="en-US">Minimum interest penalty.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThirdTermMember" xlink:to="FSI_ThirdTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThirdTermMember_doc" xml:lang="en-US">Third Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FourthTermMember" xlink:to="FSI_FourthTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FourthTermMember_doc" xml:lang="en-US">Fourth Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xml:lang="en-US">Schedule of Method of Depreciation [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_doc" xml:lang="en-US">Depreciation method used and annual rate.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xml:lang="en-US">Stock Issued in Exchange for Services [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreePrimaryCustomersMember_doc" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConcentrationRiskThresholdPercentage_doc" xml:lang="en-US">Concentration Risk Threshold Percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xml:lang="en-US">Summary Of Right of use Asset And Lease Liability [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_doc" xml:lang="en-US">Right of use assets early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseInterestExpense_doc" xml:lang="en-US">Lease interest expense.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_doc" xml:lang="en-US">Operating lease liability early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LongTermDepositsTextBlock_doc" xml:lang="en-US">Long Term Deposits [Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xml:lang="en-US">Schedule of Long Term Deposits [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FloridaBasedLLCMember_doc" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LygosIncMember_doc" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TrioOpportunityCorpMember_doc" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RealizedInvestmentGainsLossesNet_doc" xml:lang="en-US">Net income.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardAndBankMember_doc" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NewAgreementMember_doc" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfDomesticAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfDomesticAccountsReceivableOfInventory_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PercentageOfDomesticAccountsReceivableOfInventory_doc" xml:lang="en-US">Percentage of Domestic Accounts Receivable of Inventory.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xml:lang="en-US">Eligible percentage of domestic accounts receivable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockBankMember_doc" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LoanGuaranteedRate_doc" xml:lang="en-US">Loan guaranteed rate.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemSolutionIncMember_doc" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermLoanMember_doc" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPMendotaMember_doc" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemMember_doc" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruOneMember_doc" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruInvestmentsMember_doc" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xml:lang="en-US">Percentage of foreign accounts receivable of inventory.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemOneMember" xlink:to="FSI_NanoChemOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemOneMember_doc" xml:lang="en-US">Nano Chem One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentRemainingPercentage" xlink:to="FSI_EquityMethodInvestmentRemainingPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EquityMethodInvestmentRemainingPercentage_doc" xml:lang="en-US">Equity method investment remaining percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CurrentTax" xlink:to="FSI_CurrentTax_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_CurrentTax_doc" xml:lang="en-US">Current tax.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeTaxRecovery" xlink:to="FSI_IncomeTaxRecovery_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_IncomeTaxRecovery_doc" xml:lang="en-US">Income tax recovery.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ExpectedIncomeTaxRecovery" xlink:to="FSI_ExpectedIncomeTaxRecovery_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ExpectedIncomeTaxRecovery_doc" xml:lang="en-US">Expected income tax recovery.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipment_doc" xml:lang="en-US">Deferred tax assets property plants and equipment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_doc" xml:lang="en-US">Deferred tax assets property plants and equipment.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetNotRecognized" xlink:label="FSI_DeferredTaxAssetNotRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetNotRecognized" xlink:to="FSI_DeferredTaxAssetNotRecognized_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetNotRecognized_doc" xml:lang="en-US">Deferred tax asset not recognized.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsShareIssuanceCosts" xlink:to="FSI_DeferredTaxAssetsShareIssuanceCosts_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetsShareIssuanceCosts_doc" xml:lang="en-US">Deferred tax assets share issuance costs.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:to="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_doc" xml:lang="en-US">Schedule of nonoperating loss carryforwards [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTaxYearMember" xlink:to="FSI_TwoThousandThirtyTaxYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyTaxYearMember_doc" xml:lang="en-US">2030 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyOneYearMember" xlink:to="FSI_TwoThousandThirtyOneYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyOneYearMember_doc" xml:lang="en-US">2031 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyTwoYearMember" xlink:to="FSI_TwoThousandThirtyTwoYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyTwoYearMember_doc" xml:lang="en-US">2032 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtySevenYearMember" xlink:to="FSI_TwoThousandThirtySevenYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtySevenYearMember_doc" xml:lang="en-US">2037 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandThirtyNineYearMember" xlink:to="FSI_TwoThousandThirtyNineYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandThirtyNineYearMember_doc" xml:lang="en-US">2039 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyYearMember" xlink:to="FSI_TwoThousandFourtyYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandFourtyYearMember_doc" xml:lang="en-US">2040 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyOneYearMember" xlink:to="FSI_TwoThousandFourtyOneYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandFourtyOneYearMember_doc" xml:lang="en-US">2041 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyTwoYearMember" xlink:to="FSI_TwoThousandFourtyTwoYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandFourtyTwoYearMember_doc" xml:lang="en-US">2042 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TwoThousandFourtyThreeYearMember" xlink:to="FSI_TwoThousandFourtyThreeYearMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TwoThousandFourtyThreeYearMember_doc" xml:lang="en-US">2043 [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xml:lang="en-US">Cancelled or expired, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xml:lang="en-US">Exercised, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share, Granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_WagesAndAdministrativeSalariesMember" xlink:to="FSI_WagesAndAdministrativeSalariesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_WagesAndAdministrativeSalariesMember_doc" xml:lang="en-US">Wages And Administrative Salaries [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultingMember" xlink:to="FSI_ConsultingMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultingMember_doc" xml:lang="en-US">Consulting [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantStockOptionMember" xlink:to="FSI_ConsultantStockOptionMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultantStockOptionMember_doc" xml:lang="en-US">Consultant Stock Option [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCMember_doc" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_doc" xml:lang="en-US">Schedule of Distributions [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_doc" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xml:lang="en-US">Schedule of Non-Controlling Interest Related to Acquisition [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EWCPMember_doc" xml:lang="en-US">EWCP [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SegmentMember_doc" xml:lang="en-US">Segment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BCPAMember" xlink:to="FSI_BCPAMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BCPAMember_doc" xml:lang="en-US">BCPA [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OtherMember" xlink:to="FSI_OtherMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OtherMember_doc" xml:lang="en-US">Other [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreeCustomersMember_doc" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" xlink:to="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_doc" xml:lang="en-US">Schedule of Recognized Share Based Compensation Stock Options [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentSale" xlink:to="FSI_EquityMethodInvestmentSale_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EquityMethodInvestmentSale_doc" xml:lang="en-US">Equity method investment sale.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnitedStatesandAbroadMember" xlink:to="FSI_UnitedStatesandAbroadMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_UnitedStatesandAbroadMember_doc" xml:lang="en-US">United States and Abroad [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NoncontrollingInterestsMember" xlink:to="FSI_NoncontrollingInterestsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NoncontrollingInterestsMember_doc" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfInterestOnUnpaidPrincipalBalance" xlink:to="FSI_PercentageOfInterestOnUnpaidPrincipalBalance_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PercentageOfInterestOnUnpaidPrincipalBalance_doc" xml:lang="en-US">Percentage of interest on unpaid principal balance.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruTwoMember" xlink:to="FSI_ENPPeruTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruTwoMember_doc" xml:lang="en-US">ENP Peru Two [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemTwoMember" xlink:to="FSI_NanoChemTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemTwoMember_doc" xml:lang="en-US">Nano Chem Two [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultantsMember_doc" xml:lang="en-US">Consultants [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EmployeesMember_doc" xml:lang="en-US">Employees [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankAndTrustMember" xlink:to="FSI_StockYardsBankAndTrustMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankAndTrustMember_doc" xml:lang="en-US">Stock Yards Bank And Trust [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" xlink:to="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_doc" xml:lang="en-US">Income before income tax.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsLiabilities" xlink:to="FSI_DeferredTaxAssetsLiabilities_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DeferredTaxAssetsLiabilities_doc" xml:lang="en-US">Net deferred tax asset (liability).</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NoncontrollingInterestsMember" xlink:to="FSI_NoncontrollingInterestsMember_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NoncontrollingInterestsMember_3_lbl" xml:lang="en-US">Noncontrolling Interest [Member] [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_3_lbl" xml:lang="en-US">Assets [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xml:lang="en-US">Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_3_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xml:lang="en-US">Gain (Loss), Foreign Currency Transaction, before Tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_2_lbl" xml:lang="en-US">Operating Expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseTerminationFee" xlink:to="FSI_LeaseTerminationFee_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseTerminationFee_3_lbl" xml:lang="en-US">LeaseTerminationFee</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseOther" xlink:to="us-gaap_InterestExpenseOther_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseOther_2_lbl" xml:lang="en-US">Interest Expense, Other</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_2_lbl" xml:lang="en-US">Nonoperating Income (Expense)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_3_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_2_lbl" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInDepositOtherAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDepositOtherAssets_2_lbl" xml:lang="en-US">Increase (Decrease) in Deposit Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_2_lbl" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2_lbl" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_2_lbl" xml:lang="en-US">Payments to Acquire Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividends_2_lbl" xml:lang="en-US">Payments of Dividends</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_2_lbl" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_2_lbl" xml:lang="en-US">Short-Term Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_3_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_3_lbl" xml:lang="en-US">Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_ForgoneRecoveryIndName" xlink:to="ecd_ForgoneRecoveryIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_ForgoneRecoveryIndName_2_lbl" xml:lang="en-US">Forgone Recovery, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_OutstandingRecoveryIndName" xlink:to="ecd_OutstandingRecoveryIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_OutstandingRecoveryIndName_2_lbl" xml:lang="en-US">Outstanding Recovery, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_AwardsCloseToMnpiDiscIndName" xlink:to="ecd_AwardsCloseToMnpiDiscIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_AwardsCloseToMnpiDiscIndName_2_lbl" xml:lang="en-US">Awards Close in Time to MNPI Disclosures, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_TrdArrIndName" xlink:to="ecd_TrdArrIndName_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_TrdArrIndName_2_lbl" xml:lang="en-US">Trading Arrangement, Individual Name</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_2_lbl" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Periodic Reduction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_3_lbl" xml:lang="en-US">OperatingLeaseRightOfUseAssetEarlyTerminationOfLease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_3_lbl" xml:lang="en-US">Operating Lease, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_2_lbl" xml:lang="en-US">Operating Lease, Payments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_3_lbl" xml:lang="en-US">OperatingLeaseLiabilityEarlyTerminationOfLease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnTerminationOfLease" xlink:to="us-gaap_GainLossOnTerminationOfLease_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnTerminationOfLease_2_lbl" xml:lang="en-US">Gain (Loss) on Termination of Lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xml:lang="en-US">Allowance for Doubtful Accounts, Premiums and Other Receivables</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xml:lang="en-US">Accounts and Financing Receivable, after Allowance for Credit Loss</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_2_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:to="us-gaap_EquityMethodInvestmentDividendsOrDistributions_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentDividendsOrDistributions_2_lbl" xml:lang="en-US">Proceeds from Equity Method Investment, Distribution</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xml:lang="en-US">RealizedInvestmentGainsLossesNet</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_2_lbl" xml:lang="en-US">Revenues</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_2_lbl" xml:lang="en-US">Long-Term Debt, Maturity, Year One</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_2_lbl" xml:lang="en-US">Long-Term Debt, Maturity, Year Two</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_2_lbl" xml:lang="en-US">Long-Term Debt, Maturity, Year Three</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_2_lbl" xml:lang="en-US">Long-Term Debt, Maturity, Year Four</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CurrentTax" xlink:to="FSI_CurrentTax_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_CurrentTax_3_lbl" xml:lang="en-US">CurrentTax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_2_lbl" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_2_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_2_lbl" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:to="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne_3_lbl" xml:lang="en-US">DeferredTaxAssetsPropertyPlantsAndEquipmentOne</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Goodwill and Intangible Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesInvestments" xlink:to="us-gaap_DeferredTaxLiabilitiesInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesInvestments_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DeferredTaxAssetsLiabilities" xlink:to="FSI_DeferredTaxAssetsLiabilities_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DeferredTaxAssetsLiabilities_3_lbl" xml:lang="en-US">DeferredTaxAssetsLiabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_2_lbl" xml:lang="en-US">Noncontrolling Interest, Decrease from Deconsolidation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_2_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>15
<FILENAME>fsi-20241231_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.25b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20241231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheets" xlink:href="fsi-20241231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:href="fsi-20241231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:href="fsi-20241231.xsd#StatementsOfIncomeAndComprehensiveIncome" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:href="fsi-20241231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:href="fsi-20241231.xsd#StatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#CybersecurityRiskManagementAndStrategyDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#MaterialCybersecurityIncidentDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20241231.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20241231.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20241231.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20241231.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20241231.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20241231.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20241231.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LineOfCredit" xlink:href="fsi-20241231.xsd#LineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20241231.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxes" xlink:href="fsi-20241231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShare" xlink:href="fsi-20241231.xsd#IncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20241231.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20241231.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20241231.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAnd" xlink:href="fsi-20241231.xsd#SegmentsAnd" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20241231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20241231.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20241231.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20241231.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20241231.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20241231.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20241231.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:href="fsi-20241231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:href="fsi-20241231.xsd#IncomePerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20241231.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20241231.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAndTables" xlink:href="fsi-20241231.xsd#SegmentsAndTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20241231.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20241231.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20241231.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20241231.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20241231.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20241231.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20241231.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20241231.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20241231.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfCompanysInvestmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20241231.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20241231.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20241231.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative" xlink:href="fsi-20241231.xsd#LineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDebtDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical" xlink:href="fsi-20241231.xsd#ScheduleOfLongTermDebtDetailsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:href="fsi-20241231.xsd#ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:href="fsi-20241231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:href="fsi-20241231.xsd#ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfAnti-dilutiveOptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:href="fsi-20241231.xsd#IncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20241231.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails" xlink:href="fsi-20241231.xsd#ScheduleOfRecognizedStockBasedCompensationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20241231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20241231.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20241231.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20241231.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20241231.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20241231.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20241231.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative" xlink:href="fsi-20241231.xsd#SegmentsAndDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20241231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ErrCompDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardTimingDisclosure" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" xlink:type="simple" />
    <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingPoliciesProc" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_deiIcfrAuditorAttestationFlag" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiIcfrAuditorAttestationFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="loc_deiDocumentFinStmtErrorCorrectionFlag" />
      <link:presentationArc order="590" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFinStmtErrorCorrectionFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="loc_deiAuditorFirmId" />
      <link:presentationArc order="600" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorFirmId" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorOpinionTextBlock" xlink:label="loc_deiAuditorOpinionTextBlock" />
      <link:presentationArc order="610" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorOpinionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="loc_deiAuditorName" />
      <link:presentationArc order="620" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="loc_deiAuditorLocation" />
      <link:presentationArc order="630" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorLocation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAbstract" xlink:label="loc_us-gaapLiabilitiesAbstract" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome" xlink:title="00000004 - Statement - Consolidated Statements of Income and Comprehensive Income">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIConsulting" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIShippingCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSICommissions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapNonoperatingIncomeExpenseAbstract" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LeaseTerminationFee" xlink:label="loc_FSILeaseTerminationFee" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_FSILeaseTerminationFee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseOther" xlink:label="loc_us-gaapInterestExpenseOther" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapInterestExpenseOther" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_2" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapProfitLoss_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfCashFlows" xlink:title="00000005 - Statement - Consolidated Statements of Cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInDepositOtherAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfLandHeldForUse" xlink:label="loc_us-gaapProceedsFromSaleOfLandHeldForUse" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfLandHeldForUse" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:label="loc_us-gaapProceedsFromSaleOfProductiveAssets" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfProductiveAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ProceedsFromRedemptionOfInvestments" xlink:label="loc_FSIProceedsFromRedemptionOfInvestments" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIProceedsFromRedemptionOfInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ProceedsFromNoncontrollingInterestOfMendota" xlink:label="loc_FSIProceedsFromNoncontrollingInterestOfMendota" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIProceedsFromNoncontrollingInterestOfMendota" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:label="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromRepaymentsOfLinesOfCredit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfDividends" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Consolidated Statements of Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_FSICapitalInExcessOfParValueMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapParentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapNoncontrollingInterestMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividends" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="loc_us-gaapNoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:title="995410 - Disclosure - Pay vs Performance Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PayVsPerformanceDisclosureLineItems" xlink:label="loc_ecdPayVsPerformanceDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTable" xlink:label="loc_ecdPvpTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ExecutiveCategoryAxis" xlink:label="loc_ecdExecutiveCategoryAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdExecutiveCategoryAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllExecutiveCategoriesMember" xlink:label="loc_ecdAllExecutiveCategoriesMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdExecutiveCategoryAxis" xlink:to="loc_ecdAllExecutiveCategoriesMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAxis" xlink:label="loc_ecdAdjToCompAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdAdjToCompAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllAdjToCompMember" xlink:label="loc_ecdAllAdjToCompMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAdjToCompAxis" xlink:to="loc_ecdAllAdjToCompMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureAxis" xlink:label="loc_ecdMeasureAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTable" xlink:to="loc_ecdMeasureAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PvpTableTextBlock" xlink:label="loc_ecdPvpTableTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPvpTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureName" xlink:label="loc_ecdCoSelectedMeasureName" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdCoSelectedMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NamedExecutiveOfficersFnTextBlock" xlink:label="loc_ecdNamedExecutiveOfficersFnTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdNamedExecutiveOfficersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupIssuersFnTextBlock" xlink:label="loc_ecdPeerGroupIssuersFnTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeerGroupIssuersFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ChangedPeerGroupFnTextBlock" xlink:label="loc_ecdChangedPeerGroupFnTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdChangedPeerGroupFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoTotalCompAmt" xlink:label="loc_ecdPeoTotalCompAmt" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoActuallyPaidCompAmt" xlink:label="loc_ecdPeoActuallyPaidCompAmt" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdPeoActuallyPaidCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToPeoCompFnTextBlock" xlink:label="loc_ecdAdjToPeoCompFnTextBlock" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdCoSelectedMeasureName" xlink:to="loc_ecdAdjToPeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgTotalCompAmt" xlink:label="loc_ecdNonPeoNeoAvgTotalCompAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgTotalCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonPeoNeoAvgCompActuallyPaidAmt" xlink:label="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToNonPeoNeoCompFnTextBlock" xlink:label="loc_ecdAdjToNonPeoNeoCompFnTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdAdjToNonPeoNeoCompFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_EquityValuationAssumptionDifferenceFnTextBlock" xlink:label="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdEquityValuationAssumptionDifferenceFnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:label="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsTotalShareholderRtnTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsNetIncomeTextBlock" xlink:label="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsNetIncomeTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" />
      <link:presentationArc order="2140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsCoSelectedMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnVsPeerGroupTextBlock" xlink:label="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" />
      <link:presentationArc order="2150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnVsPeerGroupTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CompActuallyPaidVsOtherMeasureTextBlock" xlink:label="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" />
      <link:presentationArc order="2160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdCompActuallyPaidVsOtherMeasureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TabularListTableTextBlock" xlink:label="loc_ecdTabularListTableTextBlock" />
      <link:presentationArc order="2170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTabularListTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TotalShareholderRtnAmt" xlink:label="loc_ecdTotalShareholderRtnAmt" />
      <link:presentationArc order="2180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeerGroupTotalShareholderRtnAmt" xlink:label="loc_ecdPeerGroupTotalShareholderRtnAmt" />
      <link:presentationArc order="2190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdNonPeoNeoAvgCompActuallyPaidAmt" xlink:to="loc_ecdPeerGroupTotalShareholderRtnAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="2200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPvpTableTextBlock" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_CoSelectedMeasureAmt" xlink:label="loc_ecdCoSelectedMeasureAmt" />
      <link:presentationArc order="2210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdCoSelectedMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OtherPerfMeasureAmt" xlink:label="loc_ecdOtherPerfMeasureAmt" />
      <link:presentationArc order="2220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdOtherPerfMeasureAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AdjToCompAmt" xlink:label="loc_ecdAdjToCompAmt" />
      <link:presentationArc order="2230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdAdjToCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PeoName" xlink:label="loc_ecdPeoName" />
      <link:presentationArc order="2240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_ecdPeoName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MeasureName" xlink:label="loc_ecdMeasureName" />
      <link:presentationArc order="2250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdMeasureName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonGaapMeasureDescriptionTextBlock" xlink:label="loc_ecdNonGaapMeasureDescriptionTextBlock" />
      <link:presentationArc order="2260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdMeasureName" xlink:to="loc_ecdNonGaapMeasureDescriptionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Additional402vDisclosureTextBlock" xlink:label="loc_ecdAdditional402vDisclosureTextBlock" />
      <link:presentationArc order="2270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdAdditional402vDisclosureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_PnsnBnftsAdjFnTextBlock" xlink:label="loc_ecdPnsnBnftsAdjFnTextBlock" />
      <link:presentationArc order="2280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdPayVsPerformanceDisclosureLineItems" xlink:to="loc_ecdPnsnBnftsAdjFnTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:title="995440 - Disclosure - Recovery of Erroneously Awarded Compensation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RecoveryOfErrCompDisclosureLineItems" xlink:label="loc_ecdRecoveryOfErrCompDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompRecoveryTable" xlink:label="loc_ecdErrCompRecoveryTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdErrCompRecoveryTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDateAxis" xlink:label="loc_ecdRestatementDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdRestatementDateAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdErrCompRecoveryTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDeterminationDate" xlink:label="loc_ecdRestatementDeterminationDate" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRecoveryOfErrCompDisclosureLineItems" xlink:to="loc_ecdRestatementDeterminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompAmt" xlink:label="loc_ecdAggtErrCompAmt" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ErrCompAnalysisTextBlock" xlink:label="loc_ecdErrCompAnalysisTextBlock" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdErrCompAnalysisTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_StkPrcOrTsrEstimationMethodTextBlock" xlink:label="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdStkPrcOrTsrEstimationMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingAggtErrCompAmt" xlink:label="loc_ecdOutstandingAggtErrCompAmt" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdOutstandingAggtErrCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AggtErrCompNotYetDeterminedTextBlock" xlink:label="loc_ecdAggtErrCompNotYetDeterminedTextBlock" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdAggtErrCompNotYetDeterminedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryIndName" xlink:label="loc_ecdForgoneRecoveryIndName" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:label="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAggtErrCompAmt" xlink:to="loc_ecdForgoneRecoveryDueToExpenseOfEnforcementAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:label="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToViolationOfHomeCountryLawAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:label="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdRestatementDeterminationDate" xlink:to="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:label="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdForgoneRecoveryExplanationOfImpracticabilityTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryIndName" xlink:label="loc_ecdOutstandingRecoveryIndName" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_OutstandingRecoveryCompAmt" xlink:label="loc_ecdOutstandingRecoveryCompAmt" />
      <link:presentationArc order="2120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdOutstandingRecoveryCompAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_RestatementDoesNotRequireRecoveryTextBlock" xlink:label="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" />
      <link:presentationArc order="2130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt" xlink:to="loc_ecdRestatementDoesNotRequireRecoveryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:title="995443 - Disclosure - Award Timing Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgDiscLineItems" xlink:label="loc_ecdAwardTmgDiscLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTable" xlink:label="loc_ecdAwardsCloseToMnpiDiscTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_ecdIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardsCloseToMnpiDiscTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiDiscTextBlock" xlink:label="loc_ecdAwardTmgMnpiDiscTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiDiscTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMethodTextBlock" xlink:label="loc_ecdAwardTmgMethodTextBlock" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMethodTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgPredtrmndFlag" xlink:label="loc_ecdAwardTmgPredtrmndFlag" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgPredtrmndFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgMnpiCnsdrdFlag" xlink:label="loc_ecdAwardTmgMnpiCnsdrdFlag" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgMnpiCnsdrdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardTmgHowMnpiCnsdrdTextBlock" xlink:label="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardTmgHowMnpiCnsdrdTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MnpiDiscTimedForCompValFlag" xlink:label="loc_ecdMnpiDiscTimedForCompValFlag" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdMnpiDiscTimedForCompValFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscTableTextBlock" xlink:label="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardsCloseToMnpiDiscIndName" xlink:label="loc_ecdAwardsCloseToMnpiDiscIndName" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardsCloseToMnpiDiscIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardUndrlygSecuritiesAmt" xlink:label="loc_ecdAwardUndrlygSecuritiesAmt" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardUndrlygSecuritiesAmt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardExrcPrice" xlink:label="loc_ecdAwardExrcPrice" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardExrcPrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AwardGrantDateFairValue" xlink:label="loc_ecdAwardGrantDateFairValue" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdAwardGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_UndrlygSecurityMktPriceChngPct" xlink:label="loc_ecdUndrlygSecurityMktPriceChngPct" />
      <link:presentationArc order="2110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdAwardTmgDiscLineItems" xlink:to="loc_ecdUndrlygSecurityMktPriceChngPct" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="995445 - Disclosure - Insider Trading Arrangements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="loc_ecdInsiderTradingArrLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrByIndTable" xlink:label="loc_ecdTradingArrByIndTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTradingArrByIndTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrAxis" xlink:label="loc_ecdTradingArrAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrByIndTable" xlink:to="loc_ecdTradingArrAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllTradingArrangementsMember" xlink:label="loc_ecdAllTradingArrangementsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrAxis" xlink:to="loc_ecdAllTradingArrangementsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_IndividualAxis" xlink:label="loc_ecdIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdTradingArrByIndTable" xlink:to="loc_ecdIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember" xlink:label="loc_ecdAllIndividualsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdIndividualAxis" xlink:to="loc_ecdAllIndividualsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="loc_ecdMtrlTermsOfTrdArrTextBlock" />
      <link:presentationArc order="2000" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdMtrlTermsOfTrdArrTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndName" xlink:label="loc_ecdTrdArrIndName" />
      <link:presentationArc order="2010" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndName" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrIndTitle" xlink:label="loc_ecdTrdArrIndTitle" />
      <link:presentationArc order="2020" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrIndTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="loc_ecdRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="2030" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="loc_ecdNonRule10b51ArrAdoptedFlag" />
      <link:presentationArc order="2040" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrAdoptionDate" xlink:label="loc_ecdTrdArrAdoptionDate" />
      <link:presentationArc order="2050" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrAdoptionDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="loc_ecdRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="2060" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="loc_ecdNonRule10b51ArrTrmntdFlag" />
      <link:presentationArc order="2070" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdNonRule10b51ArrTrmntdFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrTerminationDate" xlink:label="loc_ecdTrdArrTerminationDate" />
      <link:presentationArc order="2080" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrTerminationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrExpirationDate" xlink:label="loc_ecdTrdArrExpirationDate" />
      <link:presentationArc order="2090" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrExpirationDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TrdArrDuration" xlink:label="loc_ecdTrdArrDuration" />
      <link:presentationArc order="2100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems" xlink:to="loc_ecdTrdArrDuration" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" xlink:title="995447 - Disclosure - Insider Trading Policies and Procedures">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingPoliciesProcLineItems" xlink:label="loc_ecdInsiderTradingPoliciesProcLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcAdoptedFlag" xlink:label="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcAdoptedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:label="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingPoliciesProcLineItems" xlink:to="loc_ecdInsiderTrdPoliciesProcNotAdoptedTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:title="00000012 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:label="loc_cydCybersecurityRiskManagementStrategyAndGovernanceAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:label="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:to="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedFlag" xlink:label="loc_cydCybersecurityRiskManagementProcessesIntegratedFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskManagementProcessesIntegratedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:label="loc_cydCybersecurityRiskManagementProcessesIntegratedTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" xlink:label="loc_cydCybersecurityRiskManagementThirdPartyEngagedFlag" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskManagementThirdPartyEngagedFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag" xlink:label="loc_cydCybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag" xlink:label="loc_cydCybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock" xlink:label="loc_cydCybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:label="loc_cydCybersecurityRiskBoardOfDirectorsOversightTextBlock" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:label="loc_cydCybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:label="loc_cydCybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskRoleOfManagementTextBlock" xlink:label="loc_cydCybersecurityRiskRoleOfManagementTextBlock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskRoleOfManagementTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag" xlink:label="loc_cydCybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock" xlink:label="loc_cydCybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydCybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="loc_cydCybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure" xlink:title="00000013 - Disclosure - Material Cybersecurity Incident Disclosure">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentAbstract" xlink:label="loc_cydMaterialCybersecurityIncidentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentNatureTextBlock" xlink:label="loc_cydMaterialCybersecurityIncidentNatureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydMaterialCybersecurityIncidentAbstract" xlink:to="loc_cydMaterialCybersecurityIncidentNatureTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentScopeTextBlock" xlink:label="loc_cydMaterialCybersecurityIncidentScopeTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydMaterialCybersecurityIncidentAbstract" xlink:to="loc_cydMaterialCybersecurityIncidentScopeTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentTimingTextBlock" xlink:label="loc_cydMaterialCybersecurityIncidentTimingTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydMaterialCybersecurityIncidentAbstract" xlink:to="loc_cydMaterialCybersecurityIncidentTimingTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock" xlink:label="loc_cydMaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydMaterialCybersecurityIncidentAbstract" xlink:to="loc_cydMaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock" xlink:label="loc_cydMaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cydMaterialCybersecurityIncidentAbstract" xlink:to="loc_cydMaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="999014 - Disclosure - BASIS OF PRESENTATION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="999015 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="999016 - Disclosure - LEASES">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeasesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeasesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="999017 - Disclosure - ACCOUNTS RECEIVABLE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="loc_us-gaapFinancingReceivablesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapFinancingReceivablesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="999018 - Disclosure - INVENTORIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="999019 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="999020 - Disclosure - GOODWILL AND INTANGIBLE ASSETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="999021 - Disclosure - LONG TERM DEPOSITS">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDepositsTextBlock" xlink:label="loc_FSILongTermDepositsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_FSILongTermDepositsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="999022 - Disclosure - INVESTMENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LineOfCredit" xlink:title="999023 - Disclosure - LINE OF CREDIT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="loc_us-gaapShortTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapShortTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="999024 - Disclosure - LONG TERM DEBT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="loc_us-gaapLongTermDebtAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaapLongTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapLongTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxes" xlink:title="999025 - Disclosure - INCOME TAXES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShare" xlink:title="999026 - Disclosure - INCOME PER SHARE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="999027 - Disclosure - STOCK OPTIONS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="999028 - Disclosure - CAPITAL STOCK">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="999029 - Disclosure - NON-CONTROLLING INTERESTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="loc_us-gaapMinorityInterestDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapMinorityInterestDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAnd" xlink:title="999030 - Disclosure - SEGMENTS AND">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaapSegmentReportingDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapSegmentReportingDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="999031 - Disclosure - SUBSEQUENT EVENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="999032 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="loc_FSITermDepositsPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSITermDepositsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapInventoryPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapUseOfEstimates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConcentrationRiskCreditRisk" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="loc_us-gaapLesseeLeasesPolicyTextBlock" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapLesseeLeasesPolicyTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="loc_us-gaapPriorPeriodReclassificationAdjustmentDescription" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPriorPeriodReclassificationAdjustmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="999033 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="999034 - Disclosure - LEASES (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="999035 - Disclosure - ACCOUNTS RECEIVABLE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="999036 - Disclosure - INVENTORIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="999037 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="999038 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="999039 - Disclosure - LONG TERM DEPOSITS (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="loc_FSIScheduleOfLongTermDepositsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_FSIScheduleOfLongTermDepositsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="999040 - Disclosure - INVESTMENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock" xlink:label="loc_us-gaapInvestmentHoldingsScheduleOfInvestmentsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestmentHoldingsScheduleOfInvestmentsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="999041 - Disclosure - LONG TERM DEBT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="loc_us-gaapLongTermDebtAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="loc_us-gaapScheduleOfMaturitiesOfLongTermDebtTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesTables" xlink:title="999042 - Disclosure - INCOME TAXES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:label="loc_FSIScheduleOfNonOperatingLossCarryforwardsTableTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSIScheduleOfNonOperatingLossCarryforwardsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareTables" xlink:title="999043 - Disclosure - INCOME PER SHARE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="999044 - Disclosure - STOCK OPTIONS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" xlink:label="loc_FSIScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_FSIScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="999045 - Disclosure - NON-CONTROLLING INTERESTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="loc_FSIScheduleOfDistributionsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfDistributionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAndTables" xlink:title="999046 - Disclosure - SEGMENTS AND (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="999047 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsAndENPMendotaMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsAndENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="999048 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="999049 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfProductInformationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapProductInformationLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FirstTermMember" xlink:label="loc_FSIFirstTermMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFirstTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SecondTermMember" xlink:label="loc_FSISecondTermMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSISecondTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThirdTermMember" xlink:label="loc_FSIThirdTermMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIThirdTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FourthTermMember" xlink:label="loc_FSIFourthTermMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFourthTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MinimumInterestPenalty" xlink:label="loc_FSIMinimumInterestPenalty" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIMinimumInterestPenalty" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="999050 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:label="loc_FSIOperatingLeaseRightOfUseAssetEarlyTerminationOfLease" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSIOperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LeaseInterestExpense" xlink:label="loc_FSILeaseInterestExpense" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSILeaseInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaapOperatingLeasePayments" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeasePayments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:label="loc_FSIOperatingLeaseLiabilityEarlyTerminationOfLease" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSIOperatingLeaseLiabilityEarlyTerminationOfLease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="999051 - Disclosure - LEASES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLeaseIncomeLeasePayments" xlink:label="loc_us-gaapOperatingLeaseLeaseIncomeLeasePayments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLeaseIncomeLeasePayments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapSecurityDeposit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="loc_us-gaapGainLossOnTerminationOfLease" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapGainLossOnTerminationOfLease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="999052 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsAndNotesReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="999053 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="999054 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="999055 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapDepreciation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="999056 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwillAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwillAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedCustomerListsGross" xlink:label="loc_us-gaapFiniteLivedCustomerListsGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="loc_us-gaapFiniteLivedCustomerListsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="999057 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="999058 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="999059 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails" xlink:title="999060 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical" xlink:title="999061 - Disclosure - SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="999062 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDividendsOrDistributions" xlink:label="loc_us-gaapEquityMethodInvestmentDividendsOrDistributions" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDividendsOrDistributions" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EquityMethodInvestmentSale" xlink:label="loc_FSIEquityMethodInvestmentSale" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentSale" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical" xlink:title="999063 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="999064 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="loc_FSIRealizedInvestmentGainsLossesNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIRealizedInvestmentGainsLossesNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="999065 - Disclosure - INVESTMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_2" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfLandHeldForUse" xlink:label="loc_us-gaapProceedsFromSaleOfLandHeldForUse" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapProceedsFromSaleOfLandHeldForUse" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EquityMethodInvestmentRemainingPercentage" xlink:label="loc_FSIEquityMethodInvestmentRemainingPercentage" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIEquityMethodInvestmentRemainingPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative" xlink:title="999066 - Disclosure - LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_srtRangeAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NoncontrollingInterestsMember" xlink:label="loc_FSINoncontrollingInterestsMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_FSINoncontrollingInterestsMember" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfDomesticAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfDomesticAccountsReceivableOfInventory" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfDomesticAccountsReceivableOfInventory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfInterestOnUnpaidPrincipalBalance" xlink:label="loc_FSIPercentageOfInterestOnUnpaidPrincipalBalance" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfInterestOnUnpaidPrincipalBalance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails" xlink:title="999067 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="loc_us-gaapLongTermDebtAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtTable" xlink:label="loc_FSILongTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_FSILongTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtLineItems" xlink:label="loc_FSILongTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_FSILongTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_StockYardsBankAndTrustMember" xlink:label="loc_FSIStockYardsBankAndTrustMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankAndTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruTwoMember" xlink:label="loc_FSIENPPeruTwoMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemOneMember" xlink:label="loc_FSINanoChemOneMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemTwoMember" xlink:label="loc_FSINanoChemTwoMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical" xlink:title="999068 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="loc_us-gaapLongTermDebtAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtTable" xlink:label="loc_FSILongTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_FSILongTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_LongTermDebtLineItems" xlink:label="loc_FSILongTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_FSILongTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtTable" xlink:to="loc_deiLegalEntityAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemOneMember" xlink:label="loc_FSINanoChemOneMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_NanoChemTwoMember" xlink:label="loc_FSINanoChemTwoMember" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtPercentageBearingFixedInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingFixedInterestRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTerm" xlink:label="loc_us-gaapLongTermDebtTerm" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapLongTermDebtTerm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSILongTermDebtLineItems" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails" xlink:title="999069 - Disclosure - SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="loc_us-gaapLongTermDebtAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLongTermDebtAbstract" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails" xlink:title="999070 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentForeignTaxExpenseBenefit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentForeignTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_CurrentTax" xlink:label="loc_FSICurrentTax" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSICurrentTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSIIncomeTaxRecovery" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails" xlink:title="999071 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" xlink:label="loc_FSIIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSIIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ExpectedIncomeTaxRecovery" xlink:label="loc_FSIExpectedIncomeTaxRecovery" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_FSIExpectedIncomeTaxRecovery" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaapIncomeTaxReconciliationForeignIncomeTaxRateDifferential" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails" xlink:title="999072 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsShareIssuanceCosts" xlink:label="loc_FSIDeferredTaxAssetsShareIssuanceCosts" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsShareIssuanceCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipment" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:label="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsPropertyPlantsAndEquipmentOne" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssets" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesInvestments" xlink:label="loc_us-gaapDeferredTaxLiabilitiesInvestments" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredTaxLiabilitiesInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilities" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_DeferredTaxAssetsLiabilities" xlink:label="loc_FSIDeferredTaxAssetsLiabilities" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIDeferredTaxAssetsLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails" xlink:title="999073 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodAxis" xlink:label="loc_us-gaapTaxPeriodAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapTaxPeriodAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxPeriodDomain" xlink:label="loc_us-gaapTaxPeriodDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodAxis" xlink:to="loc_us-gaapTaxPeriodDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyTaxYearMember" xlink:label="loc_FSITwoThousandThirtyTaxYearMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTaxYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyOneYearMember" xlink:label="loc_FSITwoThousandThirtyOneYearMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyOneYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyTwoYearMember" xlink:label="loc_FSITwoThousandThirtyTwoYearMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyTwoYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtySevenYearMember" xlink:label="loc_FSITwoThousandThirtySevenYearMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtySevenYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandThirtyNineYearMember" xlink:label="loc_FSITwoThousandThirtyNineYearMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandThirtyNineYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyYearMember" xlink:label="loc_FSITwoThousandFourtyYearMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyOneYearMember" xlink:label="loc_FSITwoThousandFourtyOneYearMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyOneYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyTwoYearMember" xlink:label="loc_FSITwoThousandFourtyTwoYearMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyTwoYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_TwoThousandFourtyThreeYearMember" xlink:label="loc_FSITwoThousandFourtyThreeYearMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTaxPeriodDomain" xlink:to="loc_FSITwoThousandFourtyThreeYearMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative" xlink:title="999074 - Disclosure - INCOME TAXES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_FederalAndStatedIncomeTaxMember" xlink:label="loc_FSIFederalAndStatedIncomeTaxMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_FSIFederalAndStatedIncomeTaxMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_IncomeTaxRecovery" xlink:label="loc_FSIIncomeTaxRecovery" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_FSIIncomeTaxRecovery" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwards" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLimitationsOnUse" xlink:label="loc_us-gaapOperatingLossCarryforwardsLimitationsOnUse" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapOperatingLossCarryforwardsLimitationsOnUse" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsPeriodIncreaseDecrease" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaapUnrecognizedTaxBenefits" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapUnrecognizedTaxBenefits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:label="loc_us-gaapIncomeTaxExaminationPenaltiesAndInterestAccrued" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapIncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails" xlink:title="999075 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails" xlink:title="999076 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative" xlink:title="999077 - Disclosure - INCOME PER SHARE (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="loc_us-gaapOperatingLossCarryforwardsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwardsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="loc_us-gaapOperatingLossCarryforwardsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapOperatingLossCarryforwardsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingLossCarryforwardsLineItems" xlink:to="loc_us-gaapPreferredStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="999078 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails" xlink:title="999079 - Disclosure - SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_WagesAndAdministrativeSalariesMember" xlink:label="loc_FSIWagesAndAdministrativeSalariesMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_FSIWagesAndAdministrativeSalariesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultingMember" xlink:label="loc_FSIConsultingMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_FSIConsultingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="999080 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="999081 - Disclosure - STOCK OPTIONS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="999082 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ConsultantStockOptionMember" xlink:label="loc_FSIConsultantStockOptionMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_FSIConsultantStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Dividends" xlink:label="loc_us-gaapDividends" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividends" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="999083 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="999084 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="999085 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="999086 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_BCPAMember" xlink:label="loc_FSIBCPAMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIBCPAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_OtherMember" xlink:label="loc_FSIOtherMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIOtherMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesWagesAndOfficersCompensation" xlink:label="loc_us-gaapSalariesWagesAndOfficersCompensation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapSalariesWagesAndOfficersCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingOtherItemAmount" xlink:label="loc_us-gaapSegmentReportingOtherItemAmount" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapSegmentReportingOtherItemAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseOperating" xlink:label="loc_us-gaapInterestExpenseOperating" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpenseOperating" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="999087 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="999088 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative" xlink:title="999089 - Disclosure - SEGMENTS AND (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20241231.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivablePercentPastDue1" xlink:label="loc_us-gaapFinancingReceivablePercentPastDue1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapFinancingReceivablePercentPastDue1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="999090 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Mar. 30, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">001-31540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.<span></span>
</td>
<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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001069394<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">71-1630889<span></span>
</td>
<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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">A0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">6001
    54 Ave.<span></span>
</td>
<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_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Taber<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">AB<span></span>
</td>
<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_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">T1G
    1X4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(403)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">223-2995<span></span>
</td>
<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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common
    Stock, $0.001 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FSI<span></span>
</td>
<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSEAMER<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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="text">&#160;<span></span>
</td>
<td class="nump">$ 19,992,921<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,647,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference [Text Block]</a></td>
<td class="text">None<span></span>
</td>
<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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">444<span></span>
</td>
<td class="text">995<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_AuditorOpinionTextBlock', window );">Auditor Opinion [Text Block]</a></td>
<td class="text">We
have audited the accompanying consolidated balance sheet of Flexible Solutions International Inc. (&#8220;the Company&#8221;) as of December
31, 2024 and the related consolidated statements of income and comprehensive income, stockholders&#8217; equity and cash flows for the
year then ended, and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion,
the consolidated financial statements present fairly, in all material respects, the financial position of the Company as of December
31, 2024 and the results of its operations and its cash flows for the year then ended, in conformity with accounting principles generally
accepted in the United States of America.<span></span>
</td>
<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_AuditorName', window );">Auditor Name</a></td>
<td class="text">Assure
CPA, LLC<span></span>
</td>
<td class="text">SMYTHE
LLP<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">Spokane,
Washington<span></span>
</td>
<td class="text">Vancouver,
Canada<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_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_AuditorOpinionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-X<br> -Number 210<br> -Section 2<br> -Subsection 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_AuditorOpinionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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>18
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 7,631,055<span></span>
</td>
<td class="nump">$ 5,017,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositsAssetsCurrent', window );">Term deposits (Note 2)</a></td>
<td class="nump">2,400,916<span></span>
</td>
<td class="nump">2,690,241<span></span>
</td>
</tr>
<tr class="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 (Note 4)</a></td>
<td class="nump">11,696,098<span></span>
</td>
<td class="nump">9,843,056<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories (Note 5)</a></td>
<td class="nump">10,890,195<span></span>
</td>
<td class="nump">11,134,889<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses and deposits</a></td>
<td class="nump">1,957,593<span></span>
</td>
<td class="nump">1,540,923<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">34,575,857<span></span>
</td>
<td class="nump">30,226,692<span></span>
</td>
</tr>
<tr class="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, equipment and leaseholds, net (Note 6)</a></td>
<td class="nump">17,146,184<span></span>
</td>
<td class="nump">13,171,787<span></span>
</td>
</tr>
<tr class="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 );">Right of use assets (Note 3)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">115,293<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets (Note 7)</a></td>
<td class="nump">2,120,000<span></span>
</td>
<td class="nump">2,280,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositsAssetsNoncurrent', window );">Long term deposits (Note 8)</a></td>
<td class="nump">167,882<span></span>
</td>
<td class="nump">824,254<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments (Note 9)</a></td>
<td class="nump">3,424,381<span></span>
</td>
<td class="nump">6,033,960<span></span>
</td>
</tr>
<tr class="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 (Note 7)</a></td>
<td class="nump">2,534,275<span></span>
</td>
<td class="nump">2,534,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_DeferredIncomeTaxAssetsNet', window );">Deferred tax asset (Note 12)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">284,794<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">59,968,579<span></span>
</td>
<td class="nump">55,471,055<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">2,049,425<span></span>
</td>
<td class="nump">1,984,592<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">403,157<span></span>
</td>
<td class="nump">284,131<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">78,655<span></span>
</td>
<td class="nump">148,292<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">5,137,290<span></span>
</td>
<td class="nump">4,485,213<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Short term line of credit (Note 10)</a></td>
<td class="nump">2,052,159<span></span>
</td>
<td class="nump">1,810,479<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of lease liability (Note 3)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">59,520<span></span>
</td>
</tr>
<tr class="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 );">Current portion of long term debt (Note 11)</a></td>
<td class="nump">2,140,981<span></span>
</td>
<td class="nump">1,281,632<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">11,861,667<span></span>
</td>
<td class="nump">10,053,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_OperatingLeaseLiabilityNoncurrent', window );">Lease liability (Note 3)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">55,773<span></span>
</td>
</tr>
<tr class="ro">
<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 income tax liability (Note 12)</a></td>
<td class="nump">122,019<span></span>
</td>
<td class="nump">260,047<span></span>
</td>
</tr>
<tr class="re">
<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 (Note 11)</a></td>
<td class="nump">6,618,867<span></span>
</td>
<td class="nump">6,833,304<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total Liabilities</a></td>
<td class="nump">18,602,553<span></span>
</td>
<td class="nump">17,202,983<span></span>
</td>
</tr>
<tr class="re">
<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 (Notes 9 and 10)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; 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">12,516<span></span>
</td>
<td class="nump">12,436<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Capital in excess of par value</a></td>
<td class="nump">18,789,915<span></span>
</td>
<td class="nump">17,932,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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(606,986)<span></span>
</td>
<td class="num">(795,146)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">19,836,527<span></span>
</td>
<td class="nump">18,053,051<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 stockholders&#8217; equity &#8211; controlling interest</a></td>
<td class="nump">38,031,972<span></span>
</td>
<td class="nump">35,202,356<span></span>
</td>
</tr>
<tr class="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 (Note 16)</a></td>
<td class="nump">3,334,054<span></span>
</td>
<td class="nump">3,065,716<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 Stockholders&#8217; Equity</a></td>
<td class="nump">41,366,026<span></span>
</td>
<td class="nump">38,268,072<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 Stockholders&#8217; Equity</a></td>
<td class="nump">$ 59,968,579<span></span>
</td>
<td class="nump">$ 55,471,055<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepositsAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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, after deduction of 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 within a future period of 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/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483032/340-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 43: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 44: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 45: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 46: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 47: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 48: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="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 );">Preferred stock, shares authorized</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">12,515,532<span></span>
</td>
<td class="nump">12,435,532<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">12,515,532<span></span>
</td>
<td class="nump">12,435,532<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income and Comprehensive Income - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 38,234,860<span></span>
</td>
<td class="nump">$ 38,324,806<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales (Note 6 &amp; 7)</a></td>
<td class="nump">24,994,961<span></span>
</td>
<td class="nump">27,881,721<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">13,239,899<span></span>
</td>
<td class="nump">10,443,085<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SalariesAndWages', window );">Wages</a></td>
<td class="nump">2,504,523<span></span>
</td>
<td class="nump">2,659,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_OfficersCompensation', window );">Administrative salaries and benefits</a></td>
<td class="nump">1,238,702<span></span>
</td>
<td class="nump">1,205,007<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralInsuranceExpense', window );">Insurance</a></td>
<td class="nump">958,109<span></span>
</td>
<td class="nump">861,501<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherGeneralExpense', window );">Office and miscellaneous</a></td>
<td class="nump">805,307<span></span>
</td>
<td class="nump">512,896<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_FSI_Consulting', window );">Consulting</a></td>
<td class="nump">473,925<span></span>
</td>
<td class="nump">324,327<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research</a></td>
<td class="nump">329,952<span></span>
</td>
<td class="nump">158,246<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfessionalFees', window );">Professional fees</a></td>
<td class="nump">324,462<span></span>
</td>
<td class="nump">238,466<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UtilitiesOperatingExpense', window );">Utilities</a></td>
<td class="nump">259,972<span></span>
</td>
<td class="nump">123,475<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TravelAndEntertainmentExpense', window );">Travel</a></td>
<td class="nump">227,837<span></span>
</td>
<td class="nump">264,563<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Advertising and promotion</a></td>
<td class="nump">218,269<span></span>
</td>
<td class="nump">194,308<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_FSI_InvestorRelationsAndTransferAgentFee', window );">Investor relations and transfer agent fee</a></td>
<td class="nump">199,863<span></span>
</td>
<td class="nump">222,650<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Lease expense</a></td>
<td class="nump">72,891<span></span>
</td>
<td class="nump">97,806<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommunicationsAndInformationTechnology', window );">Telecommunications</a></td>
<td class="nump">57,970<span></span>
</td>
<td class="nump">55,093<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_FSI_ShippingCost', window );">Shipping</a></td>
<td class="nump">29,408<span></span>
</td>
<td class="nump">24,060<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_FSI_Commissions', window );">Commissions</a></td>
<td class="nump">28,093<span></span>
</td>
<td class="nump">35,623<span></span>
</td>
</tr>
<tr class="re">
<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 );">Currency exchange</a></td>
<td class="num">(4,790)<span></span>
</td>
<td class="num">(37,632)<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_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">7,724,493<span></span>
</td>
<td class="nump">6,940,043<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 );">Operating income</a></td>
<td class="nump">5,515,406<span></span>
</td>
<td class="nump">3,503,042<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Non-operating 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_GainLossOnInvestments', window );">Gain on investments (Note 9)</a></td>
<td class="nump">245,631<span></span>
</td>
<td class="nump">505,065<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">Loss on sale of investment (Note 9)</a></td>
<td class="num">(353,076)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_LeaseTerminationFee', window );">Loss on lease termination</a></td>
<td class="num">(41,350)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseOther', window );">Interest expense</a></td>
<td class="num">(610,265)<span></span>
</td>
<td class="num">(498,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_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">196,454<span></span>
</td>
<td class="nump">113,809<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_NonoperatingIncomeExpense', window );">Total non-operating income (expenses)</a></td>
<td class="num">(562,606)<span></span>
</td>
<td class="nump">120,208<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income tax</a></td>
<td class="nump">4,952,800<span></span>
</td>
<td class="nump">3,623,250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract', window );"><strong>Income taxes (Note 12)</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax (expense) benefit</a></td>
<td class="num">(146,767)<span></span>
</td>
<td class="nump">250,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_CurrentIncomeTaxExpenseBenefit', window );">Current income tax expense</a></td>
<td class="num">(704,444)<span></span>
</td>
<td class="num">(118,182)<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_ProfitLoss', window );">Net income for the year</a></td>
<td class="nump">4,101,589<span></span>
</td>
<td class="nump">3,755,985<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Net income attributable to non-controlling interests</a></td>
<td class="num">(1,063,060)<span></span>
</td>
<td class="num">(980,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_NetIncomeLoss', window );">Net income attributable to controlling interest</a></td>
<td class="nump">$ 3,038,529<span></span>
</td>
<td class="nump">$ 2,775,864<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Income per share (basic)</a></td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="nump">$ 0.22<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Income per share (diluted)</a></td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="nump">$ 0.22<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares (basic)</a></td>
<td class="nump">12,454,957<span></span>
</td>
<td class="nump">12,434,886<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares (diluted)</a></td>
<td class="nump">12,680,668<span></span>
</td>
<td class="nump">12,489,467<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income:</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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 4,101,589<span></span>
</td>
<td class="nump">$ 3,755,985<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Unrealized gain (loss) on foreign currency transactions</a></td>
<td class="nump">188,160<span></span>
</td>
<td class="nump">10,653<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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive income</a></td>
<td class="nump">4,289,749<span></span>
</td>
<td class="nump">3,766,638<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Comprehensive income &#8211; non-controlling interest</a></td>
<td class="num">(1,063,060)<span></span>
</td>
<td class="num">(980,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_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to controlling interest</a></td>
<td class="nump">$ 3,226,689<span></span>
</td>
<td class="nump">$ 2,786,517<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_Commissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commissions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_Commissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_Consulting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Consulting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_Consulting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_InvestorRelationsAndTransferAgentFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investor relations aand transfer agent fee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_InvestorRelationsAndTransferAgentFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_LeaseTerminationFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease termination fee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LeaseTerminationFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_ShippingCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shipping 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;">FSI_ShippingCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CommunicationsAndInformationTechnology">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in the period for communications and data processing expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommunicationsAndInformationTechnology</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from 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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GeneralInsuranceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralInsuranceExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense classified as 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_InterestExpenseOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OfficersCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OfficersCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 expense. Excludes 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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherGeneralExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of general expenses not normally included in Other Operating Costs and Expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherGeneralExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or 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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-3<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfessionalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development 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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalariesAndWages">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalariesAndWages</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TravelAndEntertainmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 incurred for travel and entertainment during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TravelAndEntertainmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UtilitiesOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 expense of regulated 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UtilitiesOperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income for the year</a></td>
<td class="nump">$ 4,101,589<span></span>
</td>
<td class="nump">$ 3,755,985<span></span>
</td>
</tr>
<tr class="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:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">673,130<span></span>
</td>
<td class="nump">395,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">1,957,476<span></span>
</td>
<td class="nump">1,686,319<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Gain on investments</a></td>
<td class="num">(245,631)<span></span>
</td>
<td class="num">(505,065)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">Loss on sale of investment</a></td>
<td class="nump">353,076<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of asset</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(4,589)<span></span>
</td>
</tr>
<tr class="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 expense (recovery)</a></td>
<td class="nump">146,767<span></span>
</td>
<td class="num">(250,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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(1,853,042)<span></span>
</td>
<td class="num">(393,199)<span></span>
</td>
</tr>
<tr class="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 );">Inventories</a></td>
<td class="nump">244,694<span></span>
</td>
<td class="nump">3,284,541<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Prepaid expenses and deposits</a></td>
<td class="num">(416,670)<span></span>
</td>
<td class="num">(1,230,626)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDepositOtherAssets', window );">Long term deposits</a></td>
<td class="num">(159,342)<span></span>
</td>
<td class="num">(815,714)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">64,833<span></span>
</td>
<td class="nump">1,110,689<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="nump">119,026<span></span>
</td>
<td class="num">(675,725)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income taxes payable</a></td>
<td class="nump">652,077<span></span>
</td>
<td class="num">(1,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_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="num">(69,637)<span></span>
</td>
<td class="num">(239,471)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Cash provided by operating activities</a></td>
<td class="nump">5,568,346<span></span>
</td>
<td class="nump">6,116,171<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfLandHeldForUse', window );">Sale of investment</a></td>
<td class="nump">2,000,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Distributions received from equity investments</a></td>
<td class="nump">510,710<span></span>
</td>
<td class="nump">201,034<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfProductiveAssets', window );">Proceeds from sale of asset</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">5,411<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="num">(4,964,736)<span></span>
</td>
<td class="num">(4,990,675)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchase of investments</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(470,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ProceedsFromRedemptionOfInvestments', window );">Redemption of investments</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">200,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ProceedsFromNoncontrollingInterestOfMendota', window );">Non-controlling interest of 317 Mendota</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">200,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_NetCashProvidedByUsedInInvestingActivities', window );">Cash used in investing activities</a></td>
<td class="num">(2,454,026)<span></span>
</td>
<td class="num">(4,854,230)<span></span>
</td>
</tr>
<tr class="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>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_ProceedsFromRepaymentsOfLinesOfCredit', window );">Advance (repayment) of line of credit</a></td>
<td class="nump">241,680<span></span>
</td>
<td class="num">(1,008,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_RepaymentsOfLongTermDebt', window );">Repayment of long term debt</a></td>
<td class="num">(1,517,500)<span></span>
</td>
<td class="num">(725,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_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds of long term debt</a></td>
<td class="nump">2,162,412<span></span>
</td>
<td class="nump">2,686,682<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="num">(1,255,053)<span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
</tr>
<tr class="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 );">Distribution to non-controlling interest</a></td>
<td class="num">(794,722)<span></span>
</td>
<td class="num">(719,439)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Shares issued upon exercise of stock options</a></td>
<td class="nump">184,850<span></span>
</td>
<td class="nump">13,600<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 );">Cash provided by (used in) financing activities</a></td>
<td class="num">(978,333)<span></span>
</td>
<td class="num">(379,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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of foreign exchange rate changes on cash</a></td>
<td class="nump">188,160<span></span>
</td>
<td class="nump">10,653<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Increase in cash and term deposits</a></td>
<td class="nump">2,324,147<span></span>
</td>
<td class="nump">892,725<span></span>
</td>
</tr>
<tr class="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 term deposits, beginning of year</a></td>
<td class="nump">7,707,824<span></span>
</td>
<td class="nump">6,815,099<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents, ending</a></td>
<td class="nump">10,031,971<span></span>
</td>
<td class="nump">7,707,824<span></span>
</td>
</tr>
<tr class="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 and term deposits is comprised of:</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</a></td>
<td class="nump">7,631,055<span></span>
</td>
<td class="nump">5,017,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Term deposits</a></td>
<td class="nump">2,400,916<span></span>
</td>
<td class="nump">2,690,241<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">52,367<span></span>
</td>
<td class="nump">119,319<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 610,625<span></span>
</td>
<td class="nump">$ 498,666<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ProceedsFromNoncontrollingInterestOfMendota">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from noncontrolling interest of mendota.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ProceedsFromNoncontrollingInterestOfMendota</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_ProceedsFromRedemptionOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from redemption of investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ProceedsFromRedemptionOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from 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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478345/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDepositOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDepositOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromRepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net cash inflow or cash outflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's 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;">us-gaap_ProceedsFromRepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromSaleOfLandHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 land held for use; excludes sales of land held as inventory or investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfLandHeldForUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromSaleOfProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 property, plant and equipment (capital expenditures), software, and other intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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>Common Stock [Member]</div></th>
<th class="th"><div>Capital in Excess of Par Value [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Parent [Member]</div></th>
<th class="th"><div>Noncontrolling Interest [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, 2022</a></td>
<td class="nump">$ 12,426<span></span>
</td>
<td class="nump">$ 17,523,345<span></span>
</td>
<td class="nump">$ 15,903,964<span></span>
</td>
<td class="num">$ (805,799)<span></span>
</td>
<td class="nump">$ 32,633,936<span></span>
</td>
<td class="nump">$ 2,605,034<span></span>
</td>
<td class="nump">$ 35,238,970<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance, shares at Dec. 31, 2022</a></td>
<td class="nump">12,426,260<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">10,653<span></span>
</td>
<td class="nump">10,653<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">10,653<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends paid</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(626,777)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance', window );">Non-controlling interest of 317 Mendota LLC</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">200,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_ProfitLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,775,864<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,775,864<span></span>
</td>
<td class="nump">980,121<span></span>
</td>
<td class="nump">3,755,985<span></span>
</td>
</tr>
<tr class="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 );">Common shares issued upon exercise of stock options</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">13,590<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,600<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 13,600<span></span>
</td>
</tr>
<tr class="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 );">Common shares issued upon exercise of stock options, shares</a></td>
<td class="nump">9,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distributions to noncontrolling interests</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(719,439)<span></span>
</td>
<td class="num">$ (719,439)<span></span>
</td>
</tr>
<tr class="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="text"> <span></span>
</td>
<td class="nump">395,080<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">395,080<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">395,080<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, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">17,932,015<span></span>
</td>
<td class="nump">18,053,051<span></span>
</td>
<td class="num">(795,146)<span></span>
</td>
<td class="nump">35,202,356<span></span>
</td>
<td class="nump">3,065,716<span></span>
</td>
<td class="nump">38,268,072<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, shares at Dec. 31, 2023</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">188,160<span></span>
</td>
<td class="nump">188,160<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">188,160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends paid</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,255,053)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,255,053)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(1,255,053)<span></span>
</td>
</tr>
<tr class="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="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">3,038,529<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">3,038,529<span></span>
</td>
<td class="nump">1,063,060<span></span>
</td>
<td class="nump">4,101,589<span></span>
</td>
</tr>
<tr class="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 );">Common shares issued upon exercise of stock options</a></td>
<td class="nump">$ 80<span></span>
</td>
<td class="nump">184,770<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">184,850<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 184,850<span></span>
</td>
</tr>
<tr class="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 );">Common shares issued upon exercise of stock options, shares</a></td>
<td class="nump">80,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="nump">80,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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distributions to noncontrolling interests</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(794,722)<span></span>
</td>
<td class="num">$ (794,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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">673,130<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">673,130<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">673,130<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, 2024</a></td>
<td class="nump">$ 12,516<span></span>
</td>
<td class="nump">$ 18,789,915<span></span>
</td>
<td class="nump">$ 19,836,527<span></span>
</td>
<td class="num">$ (606,986)<span></span>
</td>
<td class="nump">$ 38,031,972<span></span>
</td>
<td class="nump">$ 3,334,054<span></span>
</td>
<td class="nump">$ 41,366,026<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, shares at Dec. 31, 2024</a></td>
<td class="nump">12,515,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477787/942-405-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-23<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 43: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 44: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 45: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 46: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 47: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 48: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>23
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure [Table]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 3,038,529<span></span>
</td>
<td class="nump">$ 2,775,864<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual [Table]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cybersecurity Risk Management and Strategy Disclosure<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract', window );"><strong>Cybersecurity Risk Management, Strategy, and Governance [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock', window );">Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Companies
such as ours face a variety of risks, including financial reporting, legal, credit, liquidity, operational, health, safety and cybersecurity
risks. The Board believes an effective risk management system will (1) identify the material risks that we face in a timely manner, (2)
communicate necessary information with respect to material risks to senior executives and, as appropriate, to our directors (3) implement
or oversee implementation of appropriate and responsive risk management and mitigation strategies consistent with our risk profile, and
(4) integrate risk management into our decision-making.</span><span class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__" id="xdx_90D_ecyd--CybersecurityRiskBoardOfDirectorsOversightTextBlock_c20240101__20241231_zcdwvvnSdkUe">Our
Board oversees risk management after receiving briefings from advisors and also based on its own analysis and conclusions regarding the
adequacy of our risk management processes. The Board continuously evaluates and manages material risks including geopolitical and enterprise
risks, financial risks, environmental risks, health and safety risks and cybersecurity risks.</span><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__" id="xdx_904_ecyd--CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag_dbT_c20240101__20241231_zVNNk2f1qQM3">George
Murray, our Operations Manager, is responsible for assessing and managing cybersecurity risks.</span> Mr. Murray is experienced in assessing
and managing cybersecurity risks due to his direct oversight of our internet and digital communications contractors.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__" id="xdx_90D_ecyd--CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag_dbF_c20240101__20241231_zWQXzOtlkP15">To
date we have not experienced any cybersecurity threats and any risks from cybersecurity threats have not materially affected, and are
not reasonably likely to materially affect, our business strategy, results of operations, or financial condition.</span></span></p>

<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><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_cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag', window );">Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Flag]</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock', window );">Cybersecurity Risk Board of Directors Oversight [Text Block]</a></td>
<td class="text">Our
Board oversees risk management after receiving briefings from advisors and also based on its own analysis and conclusions regarding the
adequacy of our risk management processes. The Board continuously evaluates and manages material risks including geopolitical and enterprise
risks, financial risks, environmental risks, health and safety risks and cybersecurity risks.<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_cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag', window );">Cybersecurity Risk Management Positions or Committees Responsible [Flag]</a></td>
<td class="text">true<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</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_cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph i<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph i<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i: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_cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection b<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</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_cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection b<br> -Paragraph 2<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<br> -Paragraph 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;">cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i: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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">BASIS OF PRESENTATION</a></td>
<td class="text"><p id="xdx_80F_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_z7dUi2jvaJtk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82F_zzZMsRmeJfbd">BASIS OF PRESENTATION</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of Flexible Solutions International,
Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (&#8220;NanoChem&#8221;),
Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP
Peru Investments LLC (&#8220;ENP Peru&#8221;), Pana Chem Solutions Inc., its <span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember_ziNctp3EG6j7" title="Subsidiary company ownership interest rate">80</span>% controlling interest in 317 Mendota LLC (&#8220;317
Mendota&#8221;), and its <span id="xdx_906_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zRahIgDUlDp1" title="Subsidiary company ownership interest rate">65</span>% controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP
Mendota&#8221;). All inter-company balances and transactions have been eliminated upon consolidation. The Company was incorporated on
May 12, 1998 in the State of Nevada and in 2019, the Company redomiciled into Alberta, Canada.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_z3g0lIqjN8Tb" title="Increase decrease in share percentage">50</span>% in ENP Peru, increasing its share to<span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zCiUoBoi8TZh" title="Increase decrease in share percentage"> 91.67</span>%. ENP Investments owns the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_z2XLYYL56Uq4" title="Remaining investment owned percentage">8.33</span>%, of
which the Company has a <span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsAndENPMendotaMember_zghPSZUEjsWh" title="Subsidiary company ownership interest rate">65</span>% interest. In 2023, NanoChem purchased the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_z32bcB96CxGa" title="Remaining investment owned percentage">8.33</span>% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company purchased an <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zbJG07Qgqct8" title="Subsidiary company ownership interest rate">80</span>% interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing
building. ENP Investments will occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The
Company intends to rent the remainder of the space to suitable tenants. The remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zCVwMTQilrqj" title="Noncontrolling interest percentage">20</span>% non-controlling interest is held by unrelated
parties.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields and has installed custom equipment used to produce
food and nutritional materials. All the ingredients we produce are custom products for specific clients and are confidential. We anticipate
that this market vertical will grow over time.</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text"><p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_z590mRk1Hab" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_82F_zqlPLX2j4WVh">SIGNIFICANT ACCOUNTING POLICIES</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.</span></p>

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

<p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_z2lCrBR6E2Zi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_864_zk4FYV71CzJd">Cash and Cash Equivalents</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of December 31,
2024 and 2023, the Company did not have any cash equivalents.</span></p>

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

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



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

<p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zVF0JH1RCgJ4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_860_zeuPrfKqkX1e">Term Deposits</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_90E_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zNFwydByZYF5">303,954</span> and matures in February
2025. This deposit pays <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zhXrD7tjI5u2">3</span>% interest and if withdrawn before maturity, a penalty may be applied. The second term deposit is for $<span id="xdx_90A_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zT2Z506PaWy6">742,834</span>,
matures in March 2025 and pays interest at a rate of <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zwhcNhD3H8Hl">2.65</span>%. If withdrawn before maturity, the greater of the loss of accrued interest
or $<span id="xdx_908_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zLIc9IBxJVYa" title="Minimum interest penalty">150</span>, plus 1% of the principal shall be levied. The third term deposit is for $<span id="xdx_90C_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zk4BzyB7EfUl">1,038,721</span> and matures in March 2025. This deposit pays
<span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zyg35twIPRv1">2.5</span>% and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90E_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_z7fp4CN2adni" title="Minimum interest penalty">150</span>, plus 1% of the principal shall be levied.
The fourth term deposit is for $<span id="xdx_902_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zXZLqtSnLtI2">315,407</span>, matures in February 2025 and pays interest at a rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zQp7L2qDIk79">3</span>%. If withdrawn before maturity, a
penalty may be applied.</span></p>

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

<p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zEWmm75pnrid" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_861_zpB0pRMcqEb3">Inventories and Cost of Sales</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost formula
to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point of sale.
Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling costs
(receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $<span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zWno9pjdI8za" title="Sales">473,843</span>; 2023 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zbmY3rEfWALh" title="Sales">522,033</span>). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $<span id="xdx_902_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ2lKnuUlIid" title="Cost of sales">895,463</span>; 2023 - $<span id="xdx_90B_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ5BOtKG6v74" title="Cost of sales">944,811</span>).</span></p>

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

<p id="xdx_845_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zxCBPLYeCCul" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_868_zxftrGgO6xM5">Allowance for Doubtful Accounts</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s expected credit losses are determined through a review using historical credit loss experience; changes in asset specific
characteristics, current conditions, and reasonable and supportable future forecasts, among other specific account data, and is performed
at least quarterly. The Company develops and documents its methodology to determine its allowance for expected credit losses. Risk characteristics
used by the Company may include customer mix, knowledge of customers and general economic conditions of the various local economics,
among others. Specific account balances are written off when management determines the amounts to be uncollectible. Management has reviewed
the balance reserved through the allowance for expected losses and believes it is reasonable.</span></p>

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

<p id="xdx_844_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zLRNexYJ6Pob" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_86F_z34710hwD0te">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zfMiSECon6d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zxcBvKpgR3qj" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 85%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2Nzj2H08Qzf" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zVzE9ePz2yKf" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zn2E6djnzfR9" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_z1ghGZZV2eJ8" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zfXnk0GdunBj" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  </table>
<p id="xdx_8A5_zHwj8gnptBx3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company capitalizes expenditures for improvements that significantly extend the useful life of an asset. The Company recognizes a
gain (loss) on a sale of property, equipment, leaseholds and intangible assets based upon the proceeds received on the sale less the
net carrying value of the asset. The Company charges expenditures for maintenance and repairs to operations when
incurred.</span></p>

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

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



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

<p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zeZ907bzBE82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i>I<span id="xdx_86D_zrJOgAvjKXy8">mpairment of Long-Lived Assets</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Property,
Equipment, Leasehold, and Definite-lived Intangible Assets:</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company reviews the carrying amount of our property, equipment, leasehold, and definite-lived intangible assets for impairment when events
or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. We measure recoverability of these
assets by comparing the carrying amounts to the future undiscounted cash flows that the assets or asset group are expected to generate.
If the carrying value of the assets or asset group are not recoverable, impairment is measured and recognized as the amount by which
the carrying value exceeds its fair value. Fair value is generally determined based on discounted future cash flows.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Goodwill
and Indefinite-lived Intangible Assets:</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
and indefinite-lived intangible assets are tested for impairment annually by the Company on December 31 or more frequently if events
or changes in circumstances indicate that the carrying amount may not be recoverable. Goodwill is tested for impairment at the reporting
unit level using a two-step process which includes a qualitative and quantitative assessment. Indefinite-lived intangible assets are
tested for impairment by comparing their fair value to their carrying amount. If the carrying amount exceeds the fair value, an impairment
loss is recognized in the period it is identified. The Company determines fair value using appropriate valuation methodologies, including
discounted cash flow models and market-based approaches, which incorporate assumptions regarding future performance, growth rates, discount
rates, and other relevant factors. Any impairment losses recognized are recorded as an expense in the consolidated statements of income.</span></p>

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

<p id="xdx_846_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zba8rGYY8AW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_86B_zeB9auFSKag2">Foreign Currency</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the period. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of operations and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

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

<p id="xdx_84A_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zP4DM087qh2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_867_zRhVDTN3d8Oc">Revenue Recognition</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
17.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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

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



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

<p id="xdx_84C_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zVNYfpFWLmmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_868_zKuoKEewouH9">Stock Issued in Exchange for Services</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at fair value based upon trading prices of the Company&#8217;s
common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized over the period
that the services are performed.</span></p>

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

<p id="xdx_84E_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z7AMVg5P0Y42" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86E_zYUcysUwtS2">Stock-based Compensation</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock-based
compensation expense is recognized for equity awards granted to employees, directors and other eligible participants based on the fair
value of the awards at the grant date. For stock options, fair value is estimated using an appropriate valuation model such as the Black-Scholes
option pricing model. The fair value of stock options is recognized as an expense of the requisite service period, typically the vesting
period, using the graded-vesting method. The Company estimates expensed forfeitures based on historical data and adjusts stock-based
compensation expenses accordingly. Shares are issued from Treasury upon exercise of stock options.</span></p>

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



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

<p id="xdx_843_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zwYX7ZQXQhp5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_86D_zo1docHWWMb5">Other Comprehensive Income</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

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

<p id="xdx_842_eus-gaap--EarningsPerSharePolicyTextBlock_z3eBVTG1in63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_866_zH2qP2OXIv9j">Income Per Share</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended December
31, 2024 and 2023.</span></p>

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

<p id="xdx_848_eus-gaap--UseOfEstimates_zWRPzYBChKz" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_86B_zXhORJwNQlE3">Use of Estimates</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.</span></p>

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

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



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

<p id="xdx_848_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zE5Zxn3cHFGg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_864_z8cjgVWyXSG4">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; 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.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, investments and the line of credit for all periods presented approximate their respective carrying
amounts due to the short term nature of these financial instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zYgJZCbglFBc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_865_zk59GaAKDyX5">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zcFt82fmaJd6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_864_zZZcRIxY8u55">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income 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 reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
is the Company&#8217;s policy to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s
assessment of whether a tax benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2024,
the Company believes it has appropriately accounted for any unrecognized tax benefits.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the extent the Company prevails in matters for which a liability for an unrecognized benefit is established or is required to pay amounts
in excess of the liability, the Company&#8217;s effective tax rate in a given financial statement period may be affected. Interest and
penalties associated with the Company&#8217;s tax positions are recorded as interest expense in the consolidated statements of income
and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zQe1idJCkAnd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_869_zRI9JxohR6ql">Risk Management</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zIrYMxhtz70f">20,779,311</span>
(<span id="xdx_907_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7yVw9SkpRSf" title="Concentration risk threshold percentage">54</span>%) for the year ended December 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6CEgDlzIBpe">20,482,798</span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlVWf0mh3Uu8" title="Concentration risk threshold percentage">53</span>%). Accounts receivable for the Company&#8217;s three primary customers
totaled $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zKE6FQrIWkja">7,585,199</span> (<span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zHXR47kRQwYg" title="Concentration risk threshold percentage">65</span>%) at December 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcfkw6nZOgal">6,561,164</span> or <span id="xdx_90D_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zZNgriIhqy3e" title="Concentration risk threshold percentage">67</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign exchange risk to the extent that market value rate fluctuations materially differ for financial assets
and liabilities denominated in foreign currencies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will refinance
its long-term debt where possible to obtain more favourable rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--LesseeLeasesPolicyTextBlock_zwqCaasXgiTd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_865_zXvkcTwCDF25">Leases</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#8220;ROU&#8221;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#8217;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#8217;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#8217;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_848_eus-gaap--EquityMethodInvestmentsPolicy_ztywctyfx10l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_863_z4snU2xnTh5">Investments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Investment,
at cost</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments in equity securities that do not have a readily determinable fair value using the cost method. These
investments are initially recorded at cost and are not subsequently remeasured unless impaired. Dividends received from cost-method investments
are recognized as income when declared, provided they do not represent a return of capital. The Company evaluates these investments for
impairment at each reporting period based on qualitative factors, such as financial condition, operational performance, and general market
conditions affecting the investee. If an investment is determined to be impaired and the impairment is considered other than temporary,
the carrying amount is reduced to its estimated recoverable value, with the impairment loss recognized in earnings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Investment,
equity method</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments in entities over which it has significant influence, but not control, using the equity method of accounting.
Under the equity method, the investment is initially recorded at cost, and the carrying amount is subsequently adjusted for the Company&#8217;s
share of the investee&#8217;s income, losses, and dividends received. When a portion of an equity-method investment is sold, the Company
recognizes a gain or loss on the sale based on the difference between the carrying amount of the investment sold and the proceeds received.
The Company adjusts the carrying amount of the remaining investment based on its proportionate share of the investee&#8217;s equity after
the sale. The Company assesses its equity-method investments for impairment whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. If the carrying amount of an equity-method investment exceeds its recoverable amount, an
impairment loss is recognized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in">&#160;</p>

<p id="xdx_842_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_z0uFHxABgghl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<span id="xdx_868_zazsskGLvYLb">Reclassification</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform to the 2024 financial statements presentation. Reclassifications had no effect on
net income, cash flows, or stockholders&#8217; equity as previously reported.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zGpDNmgvkrOi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(u)
<i><span id="xdx_865_zeeq3FNJCMG4">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Goodwill</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price over the fair value of identifiable net assets acquired in a business combination. Goodwill
is assigned to reporting units at the date of acquisition and is not amortized but is subject to periodic impairment testing. The carrying
amount of goodwill is adjusted only in the event of impairment or upon the disposal of a business.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Intangible
Assets</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets acquired separately are recorded at cost, while those acquired in a business combination are recognized at fair value as of the
acquisition date. Intangible assets are classified into the following categories:</span></p>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"></td><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite-Lived
                                            Intangible Assets &#8211; These assets are amortized over their estimated useful lives on
                                            a straight-line basis or another systematic basis that better reflects the pattern of consumption
                                            of economic benefits. The estimated useful lives of these assets are reviewed periodically
                                            to determine whether adjustments are necessary.</span></td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"></td><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indefinite-Lived
                                            Intangible Assets &#8211; Certain intangible assets are classified as indefinite-lived when
                                            there is no foreseeable limit to the period over which they are expected to contribute to
                                            cash flows. These assets are not amortized but are subject to periodic evaluation to confirm
                                            their classification remains appropriate.</span></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zRbV5intYoW5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(v)
<i><span id="xdx_860_zXZH6T2l2hQ8">Recent Accounting Pronouncements</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-07
(<i>Topic 280) Improvements to Reportable Segment Disclosures</i>. The new guidance requires disclosure of significant segment expenses
that are (1) regularly provided to or easily computed from information regularly provided to the chief operating decision maker and (2)
included in the reported measure of segment profit or loss. The new standard also allows companies to disclose multiple measures of segment
profit or loss if those measures are used to assess performance and allocate resources. We adopted this guidance which resulted in additional
required disclosures included in our consolidated financial statements for the year ended December 31, 2024 and segment disclosure for
the comparative year ended December 31, 2023 were modified retrospectively to include the new requirements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09 (<i>Topic 740) Improvements to Income Tax Disclosures</i>. The new guidance is intended to
enhance annual income tax disclosures to address investor requests for more information about the tax risks and opportunities present
in an entity&#8217;s operations. The amendments in this standard require disclosure of additional information in specified categories
with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and
foreign income taxes. They also require greater detail about individual reconciling items in the rate reconciliation to the extent the
impact of those items exceeds a specified threshold. In addition to new disclosures associated with the rate reconciliation, the amendments
in this update require information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign
taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed a quantitative threshold. The amendments
in this update are effective on January 1, 2025 for annual periods beginning after December 15, 2024, and early adoption is permitted.
The Company does not expect the adoption to have a material impact on the consolidated financial statements and has not early adopted
the standard.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2024, the FASB issued ASU 2024-03, I<i>ncome Statement&#8212;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures
(Subtopic 220-40): Disaggregation of Income Statement Expenses</i>, which requires disclosure about the types of costs and expenses included
in certain expense captions presented on the income statement. The new disclosure requirements are effective for the Company&#8217;s
annual periods beginning after December 15, 2026, and interim periods beginning after December 15, 2027, with early adoption permitted,
and may be applied either prospectively or retrospectively. The Company is currently evaluating the ASU to determine its impact on our
consolidated financial statements and disclosures.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Management
does not believe that any other recently issued, but not yet effective, accounting standards if currently adopted would have a material
effect on the accompanying financial statements.</span></p>

<p id="xdx_856_z6x64cFcdhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">LEASES</a></td>
<td class="text"><p id="xdx_809_eus-gaap--LesseeOperatingLeasesTextBlock_z1MLYijMAgC5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_82A_zJM8IygiJV1g">LEASES</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2016, NanoChem Solutions Inc. leased a space in Naperville, IL for office and research and development. The lease was for an
initial five years and renewable every five years for a further five years. In March 2024, the Company consolidated NanoChem operations
into the Peru, IL locations and terminated the lease in Naperville, IL. The Company had to pay a penalty of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_909_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20241231_zMisVZ6Z8Sed" title="Payment of penalty">35,910</span> and forfeited the
$<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90C_eus-gaap--SecurityDeposit_iI_c20241231_zMZbJakGucn1" title="Security deposit">5,440</span> security deposit to terminate the lease early and incurred a loss of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90B_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20241231_zmF4TO5cFoS7" title="Loss on terminating lease">41,350</span> on early termination of the lease that is shown on
the consolidated statement of income and comprehensive income as a part of non-operating income (loss). The table below summarizes the
right-of-use asset and lease liability for the periods ended December 31, 2024 and 2023.</span></p>

<p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zbhZZKg2ZM92" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zE8k3KCZ43Id" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt; font-weight: bold"><span style="text-decoration: underline">Right of Use Assets</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance at December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zCfIjzW05UYk" style="width: 16%; text-align: right" title="Right of use assets, beginning balance">167,222</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zwCb3lOvnrU4" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, Amortization">(51,929</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20241231_zbUv1TjT4ifh" style="text-align: right" title="Right of use assets, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20241231_zkbhabwJs2aa" style="text-align: right" title="Right of use assets, Amortization">(13,694</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Early termination of lease</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zYrxsT2rPrwi" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, early termination of lease">(101,599</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance at December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20241231_zinGg9sgcT71" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0775">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zRydc8mseAL1" style="text-align: right" title="Lease liability, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zAnnfQt24tTf" style="text-align: right" title="Lease interest expense">6,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_ztWqgfZSBvS6" style="border-bottom: Black 1pt solid; text-align: right" title="Payments">(58,080</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20241231_zclt0mcd1Ml6" style="text-align: right" title="Lease liability, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--LeaseInterestExpense_pp0p0_c20240101__20241231_zkoJrjNZiM9j" style="text-align: right" title="Lease interest expense">1,186</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20241231_zPG8SqK9P0Rd" style="text-align: right" title="Payments">(14,880</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Early termination of lease</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zBEcZHTwH2Ba" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, early termination of lease">(101,599</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance at December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_983_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20241231_zrdt0DA17eal" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0791">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A7_z0DUtJ0Mc1l3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivablesTextBlock', window );">ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_804_eus-gaap--FinancingReceivablesTextBlock_zlH3EknNxne5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_82C_zp3KvwfBgf41">ACCOUNTS RECEIVABLE</span></b></span></p>

<p id="xdx_89B_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zceJdz93jAz3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span><span id="xdx_8BD_zsNvlspjAuve" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20241231_zjKi15ji8vB4" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zvJLzn1nj8Sa" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zyZvO4bzX9Va" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">11,983,200</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">10,133,249</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zoH0ovnUx8R" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(287,102</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(290,193</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zOnB23kJ4XFh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    accounts receivable</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,696,098</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">9,843,056</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zSDTRmwnFsPj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 financing 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> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481933/310-10-55-12A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-42<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 44<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-44<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/310-10/tableOfContent<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/310-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>30
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">INVENTORIES</a></td>
<td class="text"><p id="xdx_804_eus-gaap--InventoryDisclosureTextBlock_zc57RW1gbCy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span id="xdx_826_zKuqTKJk0hmi">INVENTORIES</span></b></span></p>

<p id="xdx_89A_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zjA55gkuqAFe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span><span id="xdx_8B4_zav20Skyj59d" style="display: none">SCHEDULE OF INVENTORY</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20241231_zaOsFw2WGBEh" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zptX4gkCyfm4" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zooVWBpivpta" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,060,508</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,682,158</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_z5yqieO4BTlh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Raw materials and supplies</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">7,829,687</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,452,731</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zR5hQtYbncsb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    inventory</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">10,890,195</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,134,889</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zKbqTTpxRyE1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY, EQUIPMENT AND LEASEHOLDS</a></td>
<td class="text"><p id="xdx_801_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zZYqjTafLkHg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_822_zzKAHieqV9B3">PROPERTY, EQUIPMENT AND LEASEHOLDS</span></b></span></p>

<p id="xdx_89A_eus-gaap--PropertyPlantAndEquipmentTextBlock_z26C1ni6SvY6" style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span><span id="xdx_8B3_zW2bFAcFq465" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJsSigAd4Njj" style="text-align: center">2024</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z03gwukTC1e2" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zN289plvkUjh" style="text-align: center">2024</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Net</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zqi9ErJGRXL2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,795,750</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">4,521,212</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,274,538</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zNGLe6XEDFKh" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">168,807</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,448</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zJCC8feQyED2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">124,526</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">117,011</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,515</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zoDBD1e6kTpg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,318,758</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,922,667</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,396,091</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zk7Fe869R7Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0835">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2p1UU4f2rs6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0839">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_znpugGNg8F9a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Technology</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">94,945</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">94,945</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0842">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20241231_zqWRoBHlyTb3" style="border-bottom: Black 1pt solid; text-align: right" title="Cost">28,980,826</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20241231_zHJqqqt8OIL4" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">11,834,642</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20241231_zl30C3rLDUda" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total">17,146,184</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zLAZqoU5RiMg" style="text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z7GyNtS097C3" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zQVJb0ZQHvnh" style="text-align: center">2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Net</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zPpHwsnWT94j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,341,605</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,896,887</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,444,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zYnUXY6iTUj1" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">140,040</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z65UpD8F1Bg5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">177,623</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">165,048</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,575</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zstlo9zVrleh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,017,466</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,799,779</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,217,687</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zfv93Uve4NQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zw505N51wEEd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0866">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zAd4WYSzuwne" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Technology</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">103,292</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">103,292</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0869">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_zaG8yrTDd3Sc" style="border-bottom: Black 1pt solid; text-align: right" title="Cost">23,365,705</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zEF8TEe7OGta" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">10,193,918</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zcktki9Ioz39" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total">13,171,787</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zGI82I2MSNe5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for 2024 was: $<span id="xdx_90E_eus-gaap--Depreciation_c20240101__20241231_zBcY4YeQz4Z7" title="Depreciation">1,797,476</span> (2023 - $<span id="xdx_90D_eus-gaap--Depreciation_c20230101__20231231_z5ORYkNCNrd6" title="Depreciation">1,526,319</span>) and is included in cost of sales in the consolidated statements
of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company sold the boat and $<span id="xdx_907_eus-gaap--GainLossOnDispositionOfAssets1_c20230101__20231231_z3UxOmoOoeXb" title="Sale of assets">4,589</span> was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive
income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INTANGIBLE ASSETS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">GOODWILL AND INTANGIBLE ASSETS</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zmRYBnIA3r1f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_824_zhH9yDTaDuti">GOODWILL AND INTANGIBLE ASSETS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89D_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zi6NgYs1V30b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
and intangibles assets, all of which relates to the acquisition of ENP Investments in 2018, at December 31, 2024 and 2023 consisted of
the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zAGk8Pu7Aixa" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20241231_zT8psaV5jxF8" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20231231_zSAO8KJ7bm8k" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Goodwill_iI_zMNprXjkK17i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; padding-bottom: 1pt">Goodwill</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">2,534,275</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">2,534,275</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--IntangibleAssetsNetExcludingGoodwillAbstract_iB_zGzDhN5MklN2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Intangibles Assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_i01I_maIANEGzAJm_z7XEp1wZbii3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Indefinite lived &#8211; trade secrets and trademarks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">770,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">770,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedCustomerListsGross_i01I_maILIAEzFbq_zO72N9CLFDW9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Definite lived &#8211; customer lists</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,350,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,350,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_i01NI_di_msILIAEzFbq_z0oKyziAwND5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Accumulated amortization on definite-lived intangibles assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,000,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(840,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsNet_i01TI_mtILIAEzFbq_maIANEGzAJm_zSyj2S8Nfgv4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Net definite-lived intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,350,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,510,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01TI_mtIANEGzAJm_zHuUIVOTGSC7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">2,120,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">2,280,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A2_zB7kEFjNDOi3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for 2024 was $<span id="xdx_90D_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20240101__20241231_zlf84vPJTgC9" title="Amortization">160,000</span> (2023 - $<span id="xdx_902_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zGJD2AEtGit3" title="Amortization">160,000</span>) and was included in cost of sales in the consolidated statements of income
and comprehensive income. Estimated amortization expense over the next five years is as follows:</span></p>

<p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRc4BXpVj4W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B8_zYY52AgYdXXl" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; text-align: left">&#160;</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td id="xdx_49D_20241231_zpdOtLX5pJu" style="display: none; text-align: right">&#160;</td><td style="display: none; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_zt137rRXdiy5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_zrwFIWjVo6o6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_zaVTZmYHqOgj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_z0WYuEw5v8fh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_zj6RP5M57T92" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A9_zr0s37vyLRDj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_FSI_LongTermDepositsTextBlock', window );">LONG TERM DEPOSITS</a></td>
<td class="text"><p id="xdx_807_ecustom--LongTermDepositsTextBlock_zYPRMTgYd97a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_82B_z3y32DaxDmY7">LONG TERM DEPOSITS</span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zYGlMr5XwdLh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by lessors and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zGyMDO0eIIjh" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20241231_zEt6tfQR8KM9" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zzv9pPsT8Hx4" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zOW484KahRji" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Long term deposits</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">167,882</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">824,254</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zCA1Gfu027R6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_LongTermDepositsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long Term Deposits [Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LongTermDepositsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsDisclosureTextBlock', window );">INVESTMENTS</a></td>
<td class="text"><p id="xdx_803_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zGrpIlnKiZmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>9.
<span id="xdx_82C_z302JiRrH2jb">INVESTMENTS </span></b></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_899_eus-gaap--InvestmentHoldingsScheduleOfInvestmentsTableTextBlock_z1qKehfZgytb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company&#8217;s investments at December
31, 2024 and 2023 consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_z8sGgsl7iEI9">SCHEDULE
OF COMPANY&#8217;S INVESTMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zEMFjctWQbzk" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_z0TyBiL2v412" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Investments, at cost:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--LygosIncMember_zpvYFk2tfrNj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: justify">Lygos Inc., simple agreement for future equity (&#8220;SAFE&#8221;)
    agreement</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,000,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,000,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zdQzMGll72k4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Trio Opportunity Corp., <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIENPTVBBTlmSUyBJTlZFU1RNRU5UUyAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90D_eus-gaap--Investments_iI_c20241231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zopIYtdbNY08" title="Investments">97,000</span> non-voting Class B shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">970,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">970,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z2CKhH2WNwS1" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; padding-left: 10pt; text-align: justify">Investments, at cost:</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right">970,000</td><td style="display: none; text-align: left">&#160;</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right">970,000</td><td style="display: none; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Investment, equity method:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EquityMethodInvestments_iI_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zRNP9jfqT6Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt">Florida-based LLC</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,454,381</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,063,960</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--EquityMethodInvestments_iI_zlJeUrtSwcdc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: justify; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,424,381</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,033,960</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AC_zcKJSGxk9Awf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. According to
the operating agreement, the Company had a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zc9x4DVqqIp" title="Ownership percentage">50</span>% interest in the profit and loss of the Florida based LLC but does not have control. In
August 2024, the Company sold a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zuDSHdEhnoek" title="Ownership percentage">
30.1</span>% interest in the Florida based LLC to a third party for consideration of $<span id="xdx_901_eus-gaap--ProceedsFromSaleOfLandHeldForUse_pid_c20240801__20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z39DDXr7Hcf9" title="Unrelated party for consideration">2,000,000</span>. In addition,
the Company entered a subsequent agreement for the sale of its remaining <span id="xdx_909_ecustom--EquityMethodInvestmentRemainingPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zD1SOjgUzJ6a" title="Ownership remaining percentage">19.9</span>% interest over the next five years for an additional $<span id="xdx_909_eus-gaap--EquityMethodInvestments_iI_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zWHplRjpynbb" title="Equity method investments">4,000,000</span>.
Starting in 2025, the Company will sell a further <span id="xdx_90F_ecustom--EquityMethodInvestmentRemainingPercentage_iI_pid_dp_uPure_c20250101__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zwyVF9L822mi" title="Ownership remaining percentage">3.98</span>% per year upon receipt of that years $<span id="xdx_90A_eus-gaap--EquityMethodInvestments_iI_pid_c20250101__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zhreKn4sdzQe" title="Equity method investments">800,000</span> payment. At December 31, 2024, the
Company continues to account for this investment using the equity investment as it exercises significant influence.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in">&#160;</p>

<p id="xdx_896_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfk4C1Efn6u9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the activity associated with the Company&#8217;s investment in the Florida based LLC during the years ended December 31, 2024
and 2023 is follows:</span></p>

<p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B8_zuqO14YEKrd2" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Balance, December 31, 2022 &#8211; 50% interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTQQViUm4gIe" style="width: 22%; text-align: right" title="Balance, Beginning">3,758,895</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Balance, December 31, 2022 &#8211; <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_905_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20221231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zbjg8QY4oUa2" title="Ownership percentage">50</span>% interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zK9UD2DnIYle" style="text-align: right" title="Balance, Beginning">3,758,895</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Company&#8217;s proportionate share of earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zQFync7Zgq44" style="text-align: right" title="Company proportionate share of earnings">505,065</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; text-align: justify">Distribution received</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zOlDyUWFFSzh" style="border-bottom: Black 1pt solid; text-align: right" title="Distribution received">(200,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--EquityMethodInvestmentSale_z32XycPEMoUb" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Sale of 30.1% of Florida based LLC</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"></td><td style="padding-bottom: 1pt; text-align: left"></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Balance, December 31, 2023 &#8211; <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90E_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zE8xk2KR5sk4" title="Ownership percentage">50</span>% interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUSUMtvEyqRe" style="text-align: right" title="Balance, Beginning">4,063,960</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Company&#8217;s proportionate share of earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zd8NjGP6ruHl" style="text-align: right" title="Company's proportionate share of earnings">244,857</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Distribution received</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zi5GT4GYV7Ta" style="text-align: right" title="Distribution received">(510,710</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Basis of <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zsJ7tSGgw9r6" title="Interest sold percentage">30.1</span>% of interest sold</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentSale_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zkOhaW2yf6Kc" style="border-bottom: Black 1pt solid; text-align: right" title="Basis of 30.1% of interest sold">(2,343,726</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Balance, December 31, 2024 &#8211; <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20241231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z5DtwtukDwgb" title="Ownership percentage">19.9</span>% interest</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsrEfkG1E501" style="border-bottom: Black 1pt solid; text-align: right" title="Balance, Ending">1,454,381</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A4_zp1t4ltvIVfd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in">&#160;</p>

<p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zFDw7f7zjTpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized profit and loss information related to the Florida based LLC is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zSgmVn4lG8Oa" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240101__20241231_zsuV8ygmH142" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20231231_zRTbzCsKE8Nh" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_z2YWxdLmMeNh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: justify">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">13,046,436</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">16,043,468</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zFVAFzYxyQOa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Gross profit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,640,973</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,668,177</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zL9M9QzHFSi2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Net income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">455,241</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,010,128</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zSgcs0KaVJOg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company had sales of $<span id="xdx_908_eus-gaap--Revenues_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z9BWvn2MPbBf" title="Sales">8,235,394</span> (2023 - $<span id="xdx_90F_eus-gaap--Revenues_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zeyM8SR09Oxa" title="Sales">10,260,870</span>) to the Florida based LLC, of which $<span id="xdx_906_eus-gaap--AccountsReceivableNet_iI_c20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhiQGxMvUCe5" title="Accounts receivable related parties">1,866,645</span>
is included within Accounts Receivable as at December 31, 2024 (2023 - $<span id="xdx_900_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zPjgixDQWXB8" title="Accounts receivable related parties">2,073,813</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478156/740-323-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 323<br> -Publisher FASB<br> -URI https://asc.fasb.org/323/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LINE OF CREDIT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTextBlock', window );">LINE OF CREDIT</a></td>
<td class="text"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zjQijbWABaM4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_827_zQKVhMujr2Ub">LINE OF CREDIT</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2024, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving line of credit is for an aggregate amount of
up to the lesser of (i) $<span id="xdx_900_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zeRPBSFUoNia" title="Aggregate amount of revolving line of credit">4,500,000</span>, or (ii) <span id="xdx_90F_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__srt--RangeAxis__srt--MinimumMember_zUIS2fuWA8x2" title="Eligible percentage of domestic accounts receivable">50</span>-<span id="xdx_909_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__srt--RangeAxis__srt--MaximumMember_zTbqGweEsuo4" title="Eligible percentage of domestic accounts receivable">80</span>% of eligible domestic accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfDomesticAccountsReceivableOfInventory_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z0JdlDTXuITe" title="Percentage of domestic accounts receivable of inventory">50</span>% of inventory, capped at $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zC8RfssfGbs2" title="Debt face amount">2,000,000</span>.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or <span id="xdx_90B_ecustom--PercentageOfInterestOnUnpaidPrincipalBalance_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z05dYhMWq5B8" title="Interest rate on unpaid principal balance">4.0</span>%. The interest rate at December
31, 2024 is <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zQEqv4M9SeL5" title="Interest rate">7.5</span>% (2023 - <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zO6diAHiBx4c" title="Interest rate">8.5</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_90E_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember_zEHSP9VYds3d" title="Loan guaranteed rate">65</span>% of all the principal and other loan costs not to exceed $<span id="xdx_90F_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20241231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zHt5QRfp4W01" title="Line of credit">2,925,000</span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_90E_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20241231__us-gaap--StatementEquityComponentsAxis__custom--NoncontrollingInterestsMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zbh2TxmGTZCk" title="Loan guaranteed rate">35</span>% of all the principal and other loan costs not to exceed $<span id="xdx_902_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20241231__us-gaap--StatementEquityComponentsAxis__custom--NoncontrollingInterestsMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_z1S0UXchglmi" title="Line of credit">1,575,000</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance outstanding under this revolving line as of December 31, 2024 was $<span id="xdx_90A_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20241231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zGlJMI81AtHc" title="Short term borrowings">2,052,159</span> (2023 - $<span id="xdx_909_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zOYIk5KhOzC2" title="Short term borrowings">1,810,479</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In August 2024, the Company renewed the line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving
line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_90A_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zH52vdVStRs1" title="Aggregate amount of revolving line of credit">2,000,000</span>, or (ii) <span id="xdx_90A_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPp8pCQ9928a" title="Eligible percentage of domestic accounts receivable">80</span>% of eligible domestic accounts receivable
and certain foreign accounts receivable plus <span id="xdx_900_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z8UJsM5is9U7" title="Percentage of foreign accounts receivable of inventory">50</span>% of inventory, capped at $<span id="xdx_900_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zvJxijVd1eOl" title="Debt face amount">1,000,000</span>. Interest on the unpaid principal balance of this
loan will be calculated using the greater of prime or <span id="xdx_90D_ecustom--PercentageOfInterestOnUnpaidPrincipalBalance_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zb3Ufswm4ETc" title="Interest rate on unpaid principal balance">4.0</span>%. The interest rate at December 31, 2024 is <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zeTu07BxE4i5" title="Interest rate">8</span>% (2023 - <span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zhwrHzRMxIu3" title="Interest rate">8.5</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
balance outstanding under this revolving line as of December 31, 2024 were $<span id="xdx_900_eus-gaap--ShortTermBorrowings_iI_dxL_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zvRIwjTvXSm" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1058">nil</span></span> (2023 - $<span id="xdx_90B_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zKC0wV25p8Oj" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1060">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 short-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAbstract', window );"><strong>Long-Term Debt, Unclassified [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">LONG TERM DEBT</a></td>
<td class="text"><p id="xdx_807_eus-gaap--LongTermDebtTextBlock_zoD7VdY08xW1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_821_zsrsKeN4e1p1">LONG TERM DEBT</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_893_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zfjByeoYdace" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt,
all of which is with StockYards Bank and Trust, at December 31, 2024 and 2023 consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BF_zRk7qt0nuqUl">SCHEDULE
OF LONG TERM DEBT</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20241231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zfIviRVsGhVb" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zDcoHfZBbA9d" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFiB3Icgi1rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">ENP Mendota, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90A_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zewc44s5heYg" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zxCMLxqxuof5" title="Debt instrument term">10</span></span>-year mortgage, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z5MfI2wsNozk" title="Interest rate"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z2hzO0UNs3Vl" title="Interest rate">4.35</span></span>% to <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--LongTermDebtTerm_iI_dtY_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zT2Gnda9WjWg" title="Long term debt, term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--LongTermDebtTerm_iI_dtY_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFni2ZpNR6cc" title="Long term debt, term">5</span></span> year fixed index plus <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zeCYlolZ94Pi" title="Debt Instrument, interest rate, stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zdFCIyUgqGk1" title="Debt Instrument, interest rate, stated percentage">4.50</span></span>% interest, monthly
    payments through to January 2030, collateralized by real property and all rents on said property</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">387,577</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">399,269</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_ztD390msEzgg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">NanoChem, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zk3s96IBLOCb" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zEOvCp9mnNZ" title="Debt instrument term">3</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zfEfghjPfm41" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFpPz4MDn983" title="Debt instrument interest rate stated percentage">4.90</span></span>% interest, monthly principal and interest payments through June
    2025, collateralized by real property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">345,036</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,004,748</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zhRN6eNxC5ff" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Peru, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zzu7FGkCqKyk"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfAqfbvWYycc">10</span></span>-year mortgage,
    <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zFDNjuIEnwIh" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zbW5zJekc3qi" title="Debt instrument interest rate stated percentage">4.35</span></span>% interest, monthly principal and interest payments through January 2030, collateralized by real property (1<sup>st</sup> mortgage)</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,658,381</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,737,232</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--ENPPeruTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zZd6bmgbPV3g" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">ENP Peru, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zr05K2zbfs5" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90D_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zGQt1EdpQpb1" title="Debt instrument term">10</span></span>-year mortgage, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_903_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zUiTsITZZZle" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_z2WqVMmyF2Xf" title="Debt instrument interest rate stated percentage">5.4</span></span>% interest, monthly principal payments plus interest through June 2032,
    collateralized by real property (2nd mortgage)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">243,957</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,207</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemOneMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zpyleOqmBBZc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">NanoChem, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_z2RRvonYm4dk" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zS7k70tYLWu8" title="Debt instrument term">3</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_znAVmQObq75j" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zsAeSlmS3hxd" title="Debt instrument interest rate stated percentage">6.5</span></span>% interest, interest only payments through to July 2024, then monthly
    principal and interest payments through December 2025, collateralized by manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,355,285</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,475,188</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--MendotaLLCMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zmPWnbpIIEH1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">317 Mendota, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zxcAlqulTMP2" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zHjatRaYT085" title="Debt instrument term">5</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zpQmlW6CrbJ6" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zGGVpkVnGFP9" title="Debt instrument interest rate stated percentage">6.79</span></span>% interest, interest only payments through June 2024, then monthly
    principal and interest payments through June 2028 with lump sum payment of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--RepaymentsOfLongTermDebt_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zSAtVcAj2CT4" title="Repayment of debt"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90C_eus-gaap--RepaymentsOfLongTermDebt_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zChbNdiezmzf" title="Repayment of debt">2,024,710</span></span> due in June 2028, collateralized by real property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,223,667</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,248,292</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zH3mfIwVGRv5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Nanochem, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zBggygSFeOxl" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zWYKY2NsRrl5" title="Debt instrument term">5</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zANUruu3KDvk" title="Debt interest rate"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zwhfaADsRs16" title="Debt interest rate">7.0</span></span>% interest, monthly principal payments plus interest
    through August 2029, collateralized by manufacturing equipment</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,545,945</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1143">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zG6s80JZZmH7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,759,848</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_zGMlbiBs7bz9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,140,981</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,281,632</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zCNgsUqFdJpa" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,618,867</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,833,304</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AB_zsgnnrZskTc7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b></b></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p id="xdx_896_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zjUaXccWyEnh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the scheduled annual future principal payments as of December 31, 2024</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zQjE9CmyoEk8">SCHEDULE
OF ANNUAL FUTURE PRINCIPAL PAYMENTS</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid">Year Ended December 31,</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20241231_za2SN15wQIyg" style="border-bottom: Black 1pt solid; text-align: center">Principal Amount Due</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzRNL_zaQVCrLZLZ03" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 26%; text-align: right">2,140,981</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzRNL_zSe3KudouMRi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">467,149</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_iI_maLTDzRNL_z9FdV4VBMEV4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">498,454</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_iI_maLTDzRNL_ztacf2cxx1nf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,530,128</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_iI_maLTDzRNL_zdDLMFyHcPxe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,123,136</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebt_iTI_mtLTDzRNL_zorlUIKvpk77" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">8,759,848</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A3_zyITPGqPAyul" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><p id="xdx_800_eus-gaap--IncomeTaxDisclosureTextBlock_zWGYNc4i06G3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.
<span id="xdx_82A_z3fpCMyQ8cK6">INCOME TAXES</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zOadQaAQrFyj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax expense (benefit) is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_z8miQvXdah08" style="display: none">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20240101__20241231_zaEpDMyfYhrg" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_498_20230101__20231231_zRataxIy18pk" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zG79aiy81Aa5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Current tax, federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">763,471</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">753,683</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_zPU20h1KBKp2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">345,380</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">340,952</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_zqwgv1y1sTq3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Current tax, foreign</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">217,552</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">151,236</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zAJK7apapEPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,326,403</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,245,871</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zhWQodZR2d4j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Income tax benefit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(621,959</span></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,127,689</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_zl0tGZl2g5i7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, total expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">704,444</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">118,182</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_z4mnKKxBdvPe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income tax, federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">101,053</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(172,763</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zsuw1v3aaHIf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,714</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(78,154</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zjaNTHKHHmV8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Deferred income tax, foreign</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1204">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1205">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_zVj6eRjwXtl5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deferred income tax, total expense (benefit)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">146,767</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(250,917</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_z6zmz9Pb58J7" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">851,211</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(132,735</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

<p id="xdx_8A5_z4yV9tHgHkWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zlvBCbWzr1Nc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#8217;s effective
tax rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B9_zkALHIo9wCE" style="display: none">SCHEDULE OF RECONCILIATION OF INCOME TAXES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20240101__20241231_zwDH1IeKBZ8a" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zZ83YNVNt2a7" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>

<tr id="xdx_406_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_zqz8AWCr5Ys7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax - United States</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,472,950</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,249,901</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_zzdyWpxSQbyc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax - Canada</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">479,850</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">373,349</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_ecustom--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_zxt3jEJUdXz3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,952,800</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,623,250</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_ze1huvSMDtk4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">US
    federal statutory tax rate</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.00</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.00</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zTyimVX0nkG2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Expected
    income tax expense</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,040,088</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">760,883</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_z217L0opJJY3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">State
    income tax expense, net of federal tax benefit</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">371,708</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">344,208</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-deductible
    items</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">64,857</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">362,554</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Change in
    estimates and other</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(194,142</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1,585,427</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign tax
    rate differential</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(35,952</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(92,379</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Change
    in valuation allowance</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(395,348</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">77,426</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    income taxes expense (benefit)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">851,211</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(132,735</span></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  </table>


<p style="margin: 0"></p>


<p id="xdx_8A9_zn5ApjxavsYf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Included
in current income tax expense for the year ended December 31, 2024 is a recovery of $<span id="xdx_902_ecustom--IncomeTaxRecovery_c20240101__20241231_zN0S0iTaS4Va" title="Current income tax expense">621,959</span> (2023 - $<span id="xdx_903_ecustom--IncomeTaxRecovery_c20230101__20231231_zg40mk1Tmsw3" title="Current income tax expense">1,127,689</span>) for a revision of estimated
current taxes payable for previous years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zqNMKAI3Uwc5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2024 and 2023 are comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zD272esnnRc1" style="display: none">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zYKn9ll80bIl" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zgg2fvHlyOt3" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzi6P_zPVFNjIYHU9l" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left; padding-left: 10pt">Non-capital loss carryforwards</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,059,468</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">855,176</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--DeferredTaxAssetsShareIssuanceCosts_iI_maDTAGzi6P_z5KaaKqIWKu4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Share issuance costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,024</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><span style="-sec-ix-hidden: xdx2ixbrl1258">-</span></p></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_maDTAGzi6P_zmeC22FTW8Pj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Property, equipment and leaseholds</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">27,995</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">30,916</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzi6P_maDTANz7Lk_zDyCgKnhCIIf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred tax assets gross</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,088,487</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">886,092</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz7Lk_z8GiDQ6plE1c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,088,487</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(886,092</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz7Lk_zyUux6ZkcB28" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Net deferred tax asset</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1269">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1270">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin: 0">&#160;</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1pt">&#160;</td><td style="text-align: center; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td id="xdx_49C_20241231_zsQzWC6ne2T9" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td id="xdx_495_20231231_zB0WYN7d4jlj" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt; text-align: center">&#160;</td></tr>

<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">United States</td><td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzybq_zh25brcMXN52" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
    operating loss carryforwards</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">190,024</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1273">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_401_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iI_maDTAGzybq_zukF2HuXEYmc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property,
    equipment and leaseholds</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">502,646</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">36,093</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzybq_maDTANz3Hm_zMvok54rRvDh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    tax asset</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">692,670</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">36,093</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz3Hm_zBSIWxXd1eke" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
    allowance</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(192,953</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1282">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz3Hm_maDTALNzuqF_zhgHnrhs8GQk" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt">Net deferred tax asset</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">499,717</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">36,093</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_iNI_di_maDITLzQ2S_z3pr9qAi9ECa" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
    assets</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(516,414</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(11,346</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesInvestments_iNI_di_maDITLzQ2S_zwacTiSlQhj7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Investments</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(105,322</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1291">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--DeferredIncomeTaxLiabilities_iNTI_di_mtDITLzQ2S_msDTALNzuqF_zVvf1xeGf5R4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    tax liability</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(621,736</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(11,346</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--DeferredTaxAssetsLiabilities_iTI_mtDTALNzuqF_zFGJk4sVKCh9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
    deferred tax asset (liability)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(122,019</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">24,747</span></td><td style="padding-bottom: 1pt; font-size: 12pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>



<p style="margin: 0"></p>


<p id="xdx_8A5_zBHwo0DCFvaj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has non-capital loss carryforwards of approximately $<span id="xdx_90D_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zVm9nup0fZMb">4,606,383</span> </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">which may be carried forward to apply against
future year income tax for Canadian income tax purposes, subject to the final determination by taxation authorities, expiring in the
following years:</span></p>

<p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zk3EUo4K4156" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zT5sfl200BI9" style="display: none">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Loss</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">2030</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_zrCA498GOphb" style="width: 26%; text-align: right" title="Total">249,807</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2031</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zDGLr1W8zpU7" style="text-align: right" title="Total">865,746</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2032</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zeS8FvE7Jt89" style="text-align: right" title="Total">566,109</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2037</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zthjaN6151cl" style="text-align: right" title="Total">1,555,780</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2039</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zmGwLavsSKHk" style="text-align: right" title="Total">134,471</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2040</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zoMXC8ajf3sl" style="text-align: right" title="Total">396,186</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2041</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyOneYearMember_z4BWiB12Loyd" style="text-align: right" title="Total">301,063</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2042</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyTwoYearMember_zgNY5GDhgAXf" style="text-align: right" title="Total">315,157</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">2043</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyThreeYearMember_zue9S8Mvucqe" style="border-bottom: Black 1pt solid; text-align: right" title="Total">222,064</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231_zpBwksLvD596" style="border-bottom: Black 1pt solid; text-align: right" title="Total">4,606,383</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8AE_zg0YasGfPONl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
at December 31, 2024, the Company has federal and state income tax net operating loss carryforwards of $<span id="xdx_908_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__custom--FederalAndStatedIncomeTaxMember_zkgroqBek4yb" title="Operating loss carryforward">623,028</span> available for US tax
purposes. <span id="xdx_903_eus-gaap--OperatingLossCarryforwardsLimitationsOnUse_c20240101__20241231_zxVDZrf15yT2" title="Limited utilization">The NOLs carry forward indefinitely, with utilization limited to offsetting up to 80% of taxable income in any given year.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Accounting
for Uncertainty for Income Tax</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes income tax liabilities from uncertain tax positions where there is uncertainty as to a tax position being sustainable
using the more-likely-than-not threshold. During the years ended December 31, 2024 and 2023, the total liability for uncertain tax positions
increased by $<span id="xdx_90D_eus-gaap--UnrecognizedTaxBenefitsPeriodIncreaseDecrease_c20240101__20241231_z9TuASebgML3" title="Unrecognized tax benefits, increased">419,214</span> and $<span id="xdx_90B_eus-gaap--UnrecognizedTaxBenefitsPeriodIncreaseDecrease_c20230101__20231231_zggKRdCxyMU4" title="Unrecognized tax benefits, increased">464,185</span> respectively, primarily due to increased liabilities based on existing tax positions. As of December
31, 2024 and 2023, the Company has recognized liabilities for uncertain tax positions of $<span id="xdx_901_eus-gaap--UnrecognizedTaxBenefits_iI_c20241231_zsMiOh1pv8ui" title="Unrecognized tax benefits">2,754,007</span> and $<span id="xdx_909_eus-gaap--UnrecognizedTaxBenefits_iI_c20231231_zGG2ZX8ChkWh" title="Unrecognized tax benefits">2,334,793</span>, respectively, which
is included in income taxes payable on the consolidated balance sheets. All recorded uncertain tax positions impact the Company&#8217;s
effective tax rate. The timing of any future settlements&#160;or&#160;payments&#160;related to uncertain tax positions is
uncertain.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Additionally,
the Company has accrued interest and penalties related to these unrecognized tax benefits and other items, which are recorded as a component
of income tax expense (benefit). As of December 31, 2024 and 2023, the Company recorded an additional $<span id="xdx_902_eus-gaap--IncomeTaxExaminationPenaltiesAndInterestAccrued_iI_c20241231_zWPhd3uqMBt1" title="Accrued interest and penalties">333,086</span> and $<span id="xdx_901_eus-gaap--IncomeTaxExaminationPenaltiesAndInterestAccrued_iI_c20231231_z0epIp4WzcD6" title="Accrued interest and penalties">193,551</span> in accrued
interest and penalties. At December 31, 2024 and 2023, the Company had accrued interest and penalties related to unrecognized tax benefits
of $<span id="xdx_903_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_iI_c20241231_zlon5GpPRsJa" title="Unrecognized accrued interest and penalties">1,237,637</span> and $<span id="xdx_906_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_iI_c20231231_zGHs9VdsVZA2" title="Unrecognized accrued interest and penalties">904,549</span> respectively, which is included in income taxes payable on the consolidated balance sheets.</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME PER SHARE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">INCOME PER SHARE</a></td>
<td class="text"><p id="xdx_808_eus-gaap--EarningsPerShareTextBlock_zGm9pIunid4a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82F_z3y8F3nnuRfa">INCOME PER SHARE</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zZcTm6dL7Yq1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company presents both basic and diluted income per share on the face of its consolidated statements of income and comprehensive income.
Basic and diluted income per share are calculated as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zfuErYI7p5s9" style="display: none">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240101__20241231_zH13FE94Zm9e" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20230101__20231231_zIOamJWTHffa" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net income attributable to controlling interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,038,529</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,775,864</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average common shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_z2Rh2LsmSHD1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,454,957</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,434,886</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_ztli2YKt7eZa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,680,668</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,489,467</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share attributable to controlling interest:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 10pt">Basic and diluted</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20240101__20241231_zVxBU8lrznf" title="Net income per common share attributable to controlling interest: Basic"><span id="xdx_90A_eus-gaap--EarningsPerShareDiluted_c20240101__20241231_zdvFNPX3RPb4" title="Net income per common share attributable to controlling interest: Diluted">0.24</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_901_eus-gaap--EarningsPerShareBasic_c20230101__20231231_zUHyXZJb6Cta" title="Net income per common share attributable to controlling interest: Basic"><span id="xdx_90B_eus-gaap--EarningsPerShareDiluted_c20230101__20231231_zdntjnh8HBMe" title="Net income per common share attributable to controlling interest: Diluted">0.22</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AD_zqt192hLwBP3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
stock options whose terms and conditions are described in Note 14, &#8220;Stock Options&#8221; could potentially dilute basic EPS in
the future, but were not included in the computation of diluted EPS because to do so would have been anti-dilutive. Those anti-dilutive
options are as follows.</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_ztsS6MRigX2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B2_zRKmwMuDA9l6" style="display: none">SCHEDULE OF ANTI-DILUTIVE OPTIONS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20241231_zAcSQ6CefYek" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zrvzsI9Fszn5" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Anti-dilutive options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">745,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">740,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AB_zWpabXGiEHn8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
were <span id="xdx_903_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z8XQ3eK2lfRd" title="Preferred stock, shares issued"><span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLDw3WgPUPhi" title="Preferred stock, shares outstanding"><span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zhxoQRRIugqb" title="Preferred stock, shares issued"><span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z24y2cLqHTN" title="Preferred stock, shares outstanding">no</span></span></span></span> preferred shares issued and outstanding during the years ended December 31, 2024 and 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">STOCK OPTIONS</a></td>
<td class="text"><p id="xdx_809_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zdtcjKUmNpRk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_82D_zdtGB3UEDPl4">STOCK OPTIONS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20240101__20241231_zgVg4WgBgpia" title="Options granted percentage">100</span>% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next <span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20240101__20241231_z3mnuH8W3Mr6" title="Vested term">5</span> years. The maximum term of options granted is <span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20240101__20241231_zT2Obniqz79f" title="Options maximum granted term">5</span> years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zCBn68sReWB4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the years ended December 31, 2024 and 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span><span id="xdx_8B7_zcxwqJ1yR25a" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Number of shares</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Exercise price <br/> per share</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Weighted average <br/> exercise price</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zP7uxiN9mCW7" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance">1,686,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9BQUlZK6VM1" title="Exercise price per share, Beginning Balance">1.70</span>
                                            &#8211;<span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_z1ecJV1rwIT2" title="Exercise price per share, Beginning Balance"> 4.13</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zc0LjSWaewM9" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance">3.26</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_ztRhOeBCHNl3" style="text-align: right" title="Number of shares, Cancelled or expired">(564,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zt2BuIssL51f" title="Exercise price per share, Cancelled or expired">3.46</span>
                                       &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zFGBFVrPtTi3" title="Exercise price per share, Cancelled or expired">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zQqkE3R0Y46l" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercised</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zk0K93DWQo12" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised">(8,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zHgSGbA5z4pe" title="Exercise price per share, Exercised">1.70</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_z2cBZkNT7EUg" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20241231_ziwwxEhckITk" style="text-align: right" title="Number of shares, Beginning Balance">1,114,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zrZdKYoPX13d" title="Exercise price per share, Beginning Balance">1.75</span>
                                       &#8211; <span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_ztxuceU9uf7e" title="Exercise price per share, Beginning Balance">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20241231_zHDedNoz3UI3" title="Weighted average exercise price, Beginning Balance">3.13</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20241231_zw4xHcpzStq6" style="text-align: right" title="Number of shares, Granted">1,081,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfNYHcKlP794" title="Exercise price per share, Granted">2.00
</span>                                       &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_znqnSYzZa4W2" title="Exercise price per share, Granted">4.05</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20241231_z0J0LrTgOb9l" style="text-align: right" title="Weighted average exercise price, Granted">2.12</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20241231_zPvPIfEZLm22" style="text-align: right" title="Number of shares, Cancelled or expired">(275,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zQ3Gya0JIFJ6" title="Exercise price per share, Cancelled or expired">1.75</span>
                                       &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z43dscSw3lTa" title="Exercise price per share, Cancelled or expired">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20241231_zorPuhj0RUv8" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.54</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercised</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20241231_zQ2bVLGK0Vl6" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised">(80,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z38dCbHHsdMi" title="Exercise price per share, Exercised">1.75</span>
                                            &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zr5d0cnrP1Qa" title="Exercise price per share, Exercised">2.44</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20241231_z4jwUNnjThF" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised">2.31</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20241231_zjOF5qQnP4V4" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Ending Balance">1,840,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zFCRa9SFJD5i" title="Exercise price per share, Ending Balance">2.00</span>
                                            &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zibPhPl3Jyf9" title="Exercise price per share, Ending Balance">4.05</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20241231_z3O6Er2eDOS6" title="Weighted average exercise price, Ending Balance">2.68</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercisable, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20241231_znVrUihVo2tk" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">939,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfmfJDxmbKuj" title="Exercise price per share Exercisable, Ending Balance">2.00</span>
                                            &#8211; <span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zydmsRRuazu8" title="Exercise price per share Exercisable, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20241231_zV7aOpSKnlA1" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance">2.71</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AB_z74y2rAyeWZd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_ecustom--ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_zNgzfHBNogG6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the years ended December 31, 2024 and 2023, the Company recognized stock based compensation associated with stock options as
follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zpBdIW8XeWW1">SCHEDULE
OF RECOGNIZED STOCK BASED COMPENSATION&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20240101__20241231_zzQx6JyXKmri" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_z6LspYiWBZFf" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Line item on the statement of income and comprehensive income:</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--WagesAndAdministrativeSalariesMember_zmzDFgPlti0j" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: justify">Wages and administrative salaries</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">623,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">331,609</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--ConsultingMember_zDTmhKt6Hu9j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt">Consulting</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">50,130</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">63,471</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--ShareBasedCompensation_z3597WWSTQbb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock
    based compensation</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">673,130</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">395,080</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_zZOtSC8EBopg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company granted <span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20240101__20241231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_z19CsV529Rs8" title="Number of stock options to employees, granted">102,000</span> (2023 &#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zUFofKCryEY7" title="Number of stock options to employees, granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1469">nil</span></span>) stock options to consultants and <span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20240101__20241231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zkyNcFmUPHma" title="Number of stock options to employees">979,000</span> (2023 &#8211;
<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zZexjFtQKclc" title="Number of stock options to employees::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1473">nil</span></span>) stock options to employees. The fair value of options granted during 2024 was calculated using the following range of assumptions:</span></p>

<p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zx8bKhJcjWzf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zyjqvPalQXV3" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20241231_zC1fOZYv7x3e" title="Expected life - years">3.0</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zKoSOZA5Wkcc" title="Interest rate">1.76</span>
                                            &#8211; <span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zDgseRfr4G47" title="Interest rate">4.11</span></span>%</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z50nZiFVWlVe" title="Volatility">66.01</span>
                                            &#8211;<span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_za2brpHc0eS6" title="Volatility"> 71.59</span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">$<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zN9QEMVEFYU3" title="Weighted average fair value of options granted">1.46</span>
                                            &#8211; <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z5y3e49WpjGk" title="Weighted average fair value of options granted">2.02</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A8_ziEves12tp25" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 20pt; text-align: justify; text-indent: 80pt">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 20pt; text-align: justify; text-indent: 80pt"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 20pt; text-align: justify; text-indent: 80pt">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2024, the weighted-average remaining contractual life of outstanding and exercisable options is <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20241231_zjOMzik7A0kf" title="Weighted-average remaining contractual life, outstanding">3.4</span> years and <span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20241231_zitCFCrU0g6e" title="Weighted-average remaining contractual life, exercisable">3.1</span> years,
respectively. As of December 31, 2024, there was approximately $<span id="xdx_903_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20241231_zQjKtZiEGKm8" title="Stock vested compensation non vested">603,850</span> of compensation expense related to non-vested awards that is
expected to be recognized over a weighted average period of <span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20240101__20241231_zfCiMCTZVhx6" title="Weighted average period expected to be recognized">1.9</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of options outstanding and exercisable at December 31, 2024 is $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zNLqXMFcBspa" title="Aggregate intrinsic value of vested options, outstanding">1,709,850</span> (2023 - $<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRp2X3LRYYHh" title="Aggregate intrinsic value of vested options, outstanding::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1501">nil</span></span>) and $<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zfKOAIAGCpyh" title="Aggregate intrinsic value of vested options, exercisable">843,790</span> (2023
- $<span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zydEOwsb0rY2" title="Aggregate intrinsic value of vested options, exercisable::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1505">nil</span></span>), respectively. During the year ended December 31, 2024, the intrinsic value of stock options exercised was $<span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20240101__20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zSROMCtdqi4f" title="Aggregate intrinsic value of vested options exercised">88,730</span> (2023 - $<span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z35JyCzU0NSa" title="Aggregate intrinsic value of vested options exercised">11,520</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">CAPITAL STOCK</a></td>
<td class="text"><p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_ze0MTzL0okJd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_82B_zOV2n0gLIEt2">CAPITAL STOCK</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20241231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAjh5nS85Q4h" title="Stock options exercised">47,000</span> shares were issued upon the exercise of employee stock options (2023 &#8211; <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbkExIa9P7f4" title="Stock options exercised">8,000</span>) and <span id="xdx_903_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20241231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zwSYeQMfHzPi" title="Stock options exercised">33,000</span>
shares were issued upon the exercise of consultant stock options (2023 &#8211; <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_dxL_c20230101__20231231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zGKMVPasxdw3" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1519">nil</span></span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company announced a special dividend of $<span id="xdx_901_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20241231_zg82kPWy7rOi" title="Dividends per share">0.10</span> per share that was paid on May 16, 2024 to shareholders
for a total of $<span id="xdx_908_eus-gaap--Dividends_pid_c20240101__20241231_zGKwgYTZ2J0c" title="Dividends">1,255,053</span> (2023 - $<span id="xdx_905_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20231231_z2iR4KDWbYYh" title="Dividends per share">0.05</span>/share for a total of $<span id="xdx_906_eus-gaap--Dividends_pid_c20230101__20231231_zSV02Qymqlgc" title="Dividends">626,777</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2023, the Company issued <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20231231_zGCBwP3LYMS" title="Consultant for services, shares">1,272</span> shares to a consultant for services rendered, resulting in an expense of $<span id="xdx_903_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20231231_zDihgnFzVQae" title="Consultant for services, value">4,070</span>
on the consolidated statements of income and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDisclosureTextBlock', window );">NON-CONTROLLING INTERESTS</a></td>
<td class="text"><p id="xdx_805_eus-gaap--MinorityInterestDisclosureTextBlock_zE6hPkLdk207" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_828_zpSWUiQauhW7">NON-CONTROLLING INTERESTS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a <span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zRUindcUvdV1" title="Subsidiary company ownership interest rate">65</span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z3ABQd3M11sk" title="Related party owner ship percentage">35</span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into
these financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment. See Note 17.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_906_eus-gaap--PaymentsToMinorityShareholders_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMXXEJr342Ia" title="Partnership distribution to non-controlling interest">4,020,679</span>.</span></p>

<p id="xdx_89B_ecustom--ScheduleOfDistributionsTableTextBlock_zW8AQ2VemZV3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span><span id="xdx_8BE_zgfRv1AnDza" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zbehpKCsLuQ3" style="width: 16%; text-align: right" title="Non-controlling interests, Beginning balance">2,605,034</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zAWR6LxFVUaj" style="text-align: right" title="Distribution">(719,439</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zwgWCWHLZiCa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income">1,015,604</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zGhZ3vCmPWJ8" style="text-align: right" title="Non-controlling interests, Beginning balance">2,901,199</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zR9ErOnHUbtc" style="text-align: right" title="Distribution">(794,722</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Non-controlling interest share of income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_ztIm5oRoTlLb" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income">1,164,037</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh2z69JPcRq1" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance">3,270,514</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AA_zNfHF2ZPhSR4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2024, the Company had sales of $<span id="xdx_901_eus-gaap--Revenues_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z05O3apTWMi" title="Sales">8,050,462</span> (2023 - $<span id="xdx_909_eus-gaap--Revenues_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z0j33MKVubb8" title="Sales">6,811,083</span>) to the NCI, of which $<span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zDvjh1dhKFK" title="Accounts receivable">5,377,088</span> is included
within Accounts Receivable as of December 31, 2024 (2023 &#8211; $<span id="xdx_901_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zFDoodkGNIF9" title="Accounts receivable">4,225,028</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>b<span style="font-variant: small-caps">)
</span></b>317 Mendota is a LLC that owns real estate that the Company occupies part of while renting out the excess. The Company owns
a <span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember_zc8QAk4eiYya" title="Subsidiary company ownership interest rate">80</span>% interest in 317 Mendota and an unrelated party (&#8220;317 NCI&#8221;) owns the remaining <span id="xdx_901_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20241231__srt--OwnershipAxis__custom--MendotaLLCMember_zbXzrvZjjPT9" title="Related party owner ship percentage">20</span>% interest in 317 Mendota. For financial
reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The 317 NCI&#8217;s
ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling
interest represents 317 NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated to the TPA segment as
that is the intended use of the building.</span></p>

<p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_z7uko9EpX0P9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z2ONKTcO2qT7" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVHkHGhGXHd" style="text-align: right" title="Non-controlling interests, beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1571">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcrPXouzWZ79" style="width: 16%; text-align: right" title="Non-controlling interests, Acquisition">200,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of loss</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zOZCt3oJNq3k" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss">(35,483</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z10GCwtAHhvj" style="text-align: right" title="Non-controlling interests, beginning balance">164,517</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of loss</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zEnacAcrKOr9" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss">(100,977</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zsv2bpViMjDa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance">63,540</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A8_z7NIeDoAALg5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTS AND<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">SEGMENTS AND</a></td>
<td class="text"><p id="xdx_801_eus-gaap--SegmentReportingDisclosureTextBlock_zR1rWCyqjtOb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_820_zcpDWi9DbpV5">SEGMENT<span style="font-variant: small-caps">S AND </span> SIGNIFICANT <span style="font-variant: small-caps">CONCENTRATIONS</span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in <span id="xdx_90A_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20240101__20241231_zAMpQW29CPah" title="Number of operating segments">two</span> segments:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also manufactures food grade products that are made and sold by the TPA division.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies. The economic factors that impact the
nature, amount, timing, and uncertainty of revenue and cash flows vary among the Company&#8217;s operating segments and the geographical
regions in which they operate. This operating segment structure is used by the Chief Operating Decision Maker (&#8220;CODM&#8221;), who
has been determined to be the Chief Executive Officer, to make key operating decisions and assess performance of the Company. The CODM
evaluates segment operating performance, and makes resource allocation and performance evaluation decisions, based on gross profit and
net operating income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2024:</span></p>

<p id="xdx_898_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zmy4jqovwS8f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zszJQyAViofa" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20241231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zPx3sv107y2j" style="border-bottom: Black 1pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20240101__20241231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGUWGxUWlYg" style="border-bottom: Black 1pt solid; text-align: center">BPCA</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20240101__20241231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zm0bOSYp2ga" style="border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
    <sup id="xdx_F5A_zu1sYbQTque">(1)</sup></span></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20240101__20241231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJtHMf6mxvt8" style="border-bottom: Black 1pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zN8krYuJTFoj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">759,549</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">37,475,311</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1591">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">38,234,860</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--CostOfGoodsAndServicesSold_zNoh9eaSjFjb" style="vertical-align: bottom; background-color: White">
    <td>Cost of sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">350,345</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,644,616</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1596">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,994,961</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--GrossProfit_zX2tyeeh2Crk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">409,204</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,830,695</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1601">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,239,899</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--SalariesWagesAndOfficersCompensation_z5wiISVx1A22" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Wages and administrative salaries</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">90,043</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,653,182</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1606">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,743,225</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherGeneralExpense_zIPquFwNN2B" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office &amp; Miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,327</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">759,410</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">570</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">805,307</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--SegmentReportingOtherItemAmount_z7OH9jjs0n33" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment items <sup id="xdx_F46_zaLbFgnXlaQe">(2)</sup></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">57,056</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,699,196</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">419,709</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,175,961</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingIncomeLoss_zB6HK3EhPQ81" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">216,778</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,718,907</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(420,279</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,515,406</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InterestExpenseOperating_zHY2fv8jApFd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">309</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">609,956</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1626">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">610,265</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zIpsk9ChtWr3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Depreciation and amortization (included in COGS)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,298</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,942,178</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1631">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,957,476</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z8jP9HYAi26" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capital expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1634">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,964,736</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1636">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,964,736</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Assets_iE_zCAjf0hgiqRf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assets <sup id="xdx_F43_zP7K1iJhSp9f">(3)</sup></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,588,731</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,415,104</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">964,744</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">59,968,579</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_497_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zzDuCnEh0n27" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">EWCP</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_498_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z05E34IwMeAg" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">BPCA</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49D_20230101__20231231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zxRwroPJsks9" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
    <sup id="xdx_F5F_zQwKUFmAg8w3">(1)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_499_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zx4JjkW49IJf" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zWxDumrJJQbd" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 36%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">572,845</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">37,751,961</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1646">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">38,324,806</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--CostOfGoodsAndServicesSold_zwTqRvuIL6w3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost of sales</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">359,429</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27,522,292</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1651">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27,881,721</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--GrossProfit_zRrx541S8Bcb" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross profit</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">213,416</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10,229,669</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1656">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10,443,085</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_405_eus-gaap--SalariesWagesAndOfficersCompensation_z3lbG84udN3f" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Wages and
    administrative salaries</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">92,302</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,772,359</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1661">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,864,661</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--OtherGeneralExpense_zOFLqNxD4xl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office &amp;
    Miscellaneous</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">46,968</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">465,535</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">393</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">512,896</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--SegmentReportingOtherItemAmount_z0kplWjdm6lh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment
    items <sup id="xdx_F47_zbKPvL7nem2i">(2)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">79,809</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,109,582</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">376,581</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,565,972</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--OperatingIncomeLoss_zlsVM7BPFag8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net operating
    income</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5,663</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,885,680</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(376,975</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,503,042</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--InterestExpenseOperating_zY5zMQ54l9I9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">387</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">498,279</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1681">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">498,666</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zHZmXc2T9cX2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Depreciation
    (included in COGS)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">17,411</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,668,908</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1686">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,686,319</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zNLgzZZj2Qfl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Capital expenditures</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1689">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,990,675</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1691">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,990,675</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--Assets_iE_zsPB8qktVkq8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assets <sup id="xdx_F4E_zZOu9ypj6VAa">(3)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,889,596</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">50,627,932</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">953,527</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">55,471,055</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F08_zyDNgBbwaffk">(1)</sup></span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F13_z9Ay3peHObbi" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other is not considered
an operating segment and includes expenses and income not identifiable to an operating segment and is not included in operating segment
results</span></td>
</tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F08_zhTCQ3asN9u">(2)</sup></span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F15_zBz1qwXe3gFd" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment items
for each reportable segment includes insurance,  consulting, research, and professional fees.</span></td>
</tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F05_zHBcpUKmu8G5">(3)</sup></span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F16_zo5NHbXJFt4c" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Segment
                                                                                                                                                                                                     assets include cash, term deposits, accounts receivable, inventory, prepaid expenses, property, equipment and leaseholds, right of
                                                                                                                                                                                                     use assets, security deposits, intangible assets, and goodwill.</span></td>
</tr></table>

<p id="xdx_8A8_zfBhJPocqWkd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zTgqT9iFNHib" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zezhQPSplhuk" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240101__20241231_zXtZjuchs647" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20231231_zmTQ469BQLp2" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zF15a979qKe2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">400,693</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">755,844</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zlvJnjYvKtGk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">United States and abroad</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">37,834,167</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">37,568,962</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zzLforfA036l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">38,234,860</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">38,324,806</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A9_zomS99TocgH3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zRwap87N8RKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_z5VPPeL5fmf8" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zVt06JbFngZ3" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20231231_zeTPiDme4hta" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zdB01Z07JaLe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">116,496</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">142,577</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zTmDMoVTlsG7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">United States</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,683,963</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,958,778</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_z3z9mOV1GWMj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,800,459</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">18,101,355</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A0_zZUefrLk4cP6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
customers accounted for $<span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20241231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zshwHaXyMP43" title="Accounts receivable, after allowance for credit loss">20,779,311</span> (<span id="xdx_907_eus-gaap--FinancingReceivablePercentPastDue1_iI_pid_dp_uPure_c20241231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zsfMmUdieLSb" title="Sale percentage">54</span>%) of sales made in 2024 (2023 - $<span id="xdx_907_eus-gaap--AccountsReceivableNet_iI_c20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zfXHOl6I5PU3" title="Accounts receivable, after allowance for credit loss">20,482,798</span> or <span id="xdx_900_eus-gaap--FinancingReceivablePercentPastDue1_iI_pid_dp_uPure_c20231231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zqSg5IjX3A3d" title="Sale percentage">53</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-34<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-15<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/280/tableOfContent<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_zYmU4o0bgHjb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>18.
<span id="xdx_82C_zII4kk44bA34">SUBSEQUENT EVENTS</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the three months ended March 31, 2025, the Company issued <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20250101__20250331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_ztyLit6w5nB4" title="Stock option issued upon exercise">67,000</span>
shares to employees and <span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20250101__20250331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z9JKqhQ39JRg" title="Exercise of employee stock options">65,000</span>
shares to consultants upon the exercise of stock options.</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> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>44
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_z2lCrBR6E2Zi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_864_zk4FYV71CzJd">Cash and Cash Equivalents</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of December 31,
2024 and 2023, the Company did not have any cash equivalents.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_TermDepositsPolicyTextBlock', window );">Term Deposits</a></td>
<td class="text"><p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zVF0JH1RCgJ4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_860_zeuPrfKqkX1e">Term Deposits</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_90E_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zNFwydByZYF5">303,954</span> and matures in February
2025. This deposit pays <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zhXrD7tjI5u2">3</span>% interest and if withdrawn before maturity, a penalty may be applied. The second term deposit is for $<span id="xdx_90A_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zT2Z506PaWy6">742,834</span>,
matures in March 2025 and pays interest at a rate of <span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zwhcNhD3H8Hl">2.65</span>%. If withdrawn before maturity, the greater of the loss of accrued interest
or $<span id="xdx_908_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zLIc9IBxJVYa" title="Minimum interest penalty">150</span>, plus 1% of the principal shall be levied. The third term deposit is for $<span id="xdx_90C_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zk4BzyB7EfUl">1,038,721</span> and matures in March 2025. This deposit pays
<span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zyg35twIPRv1">2.5</span>% and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_90E_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_z7fp4CN2adni" title="Minimum interest penalty">150</span>, plus 1% of the principal shall be levied.
The fourth term deposit is for $<span id="xdx_902_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zXZLqtSnLtI2">315,407</span>, matures in February 2025 and pays interest at a rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zQp7L2qDIk79">3</span>%. If withdrawn before maturity, a
penalty may be applied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="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 );">Inventories and Cost of Sales</a></td>
<td class="text"><p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zEWmm75pnrid" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_861_zpB0pRMcqEb3">Inventories and Cost of Sales</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost formula
to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point of sale.
Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling costs
(receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $<span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zWno9pjdI8za" title="Sales">473,843</span>; 2023 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zbmY3rEfWALh" title="Sales">522,033</span>). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $<span id="xdx_902_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ2lKnuUlIid" title="Cost of sales">895,463</span>; 2023 - $<span id="xdx_90B_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ5BOtKG6v74" title="Cost of sales">944,811</span>).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy', window );">Allowance for Doubtful Accounts</a></td>
<td class="text"><p id="xdx_845_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zxCBPLYeCCul" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_868_zxftrGgO6xM5">Allowance for Doubtful Accounts</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s expected credit losses are determined through a review using historical credit loss experience; changes in asset specific
characteristics, current conditions, and reasonable and supportable future forecasts, among other specific account data, and is performed
at least quarterly. The Company develops and documents its methodology to determine its allowance for expected credit losses. Risk characteristics
used by the Company may include customer mix, knowledge of customers and general economic conditions of the various local economics,
among others. Specific account balances are written off when management determines the amounts to be uncollectible. Management has reviewed
the balance reserved through the allowance for expected losses and believes it is reasonable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="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, Equipment, Leaseholds and Intangible Assets</a></td>
<td class="text"><p id="xdx_844_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zLRNexYJ6Pob" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_86F_z34710hwD0te">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zfMiSECon6d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zxcBvKpgR3qj" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 85%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2Nzj2H08Qzf" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zVzE9ePz2yKf" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zn2E6djnzfR9" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_z1ghGZZV2eJ8" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zfXnk0GdunBj" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  </table>
<p id="xdx_8A5_zHwj8gnptBx3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company capitalizes expenditures for improvements that significantly extend the useful life of an asset. The Company recognizes a
gain (loss) on a sale of property, equipment, leaseholds and intangible assets based upon the proceeds received on the sale less the
net carrying value of the asset. The Company charges expenditures for maintenance and repairs to operations when
incurred.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">mpairment of Long-Lived Assets</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zeZ907bzBE82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i>I<span id="xdx_86D_zrJOgAvjKXy8">mpairment of Long-Lived Assets</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Property,
Equipment, Leasehold, and Definite-lived Intangible Assets:</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company reviews the carrying amount of our property, equipment, leasehold, and definite-lived intangible assets for impairment when events
or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. We measure recoverability of these
assets by comparing the carrying amounts to the future undiscounted cash flows that the assets or asset group are expected to generate.
If the carrying value of the assets or asset group are not recoverable, impairment is measured and recognized as the amount by which
the carrying value exceeds its fair value. Fair value is generally determined based on discounted future cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Goodwill
and Indefinite-lived Intangible Assets:</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
and indefinite-lived intangible assets are tested for impairment annually by the Company on December 31 or more frequently if events
or changes in circumstances indicate that the carrying amount may not be recoverable. Goodwill is tested for impairment at the reporting
unit level using a two-step process which includes a qualitative and quantitative assessment. Indefinite-lived intangible assets are
tested for impairment by comparing their fair value to their carrying amount. If the carrying amount exceeds the fair value, an impairment
loss is recognized in the period it is identified. The Company determines fair value using appropriate valuation methodologies, including
discounted cash flow models and market-based approaches, which incorporate assumptions regarding future performance, growth rates, discount
rates, and other relevant factors. Any impairment losses recognized are recorded as an expense in the consolidated statements of income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><p id="xdx_846_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zba8rGYY8AW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_86B_zeB9auFSKag2">Foreign Currency</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the period. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of operations and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_84A_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zP4DM087qh2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_867_zRhVDTN3d8Oc">Revenue Recognition</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
17.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_StockIssuedInExchangeForServicesPolicyTextBlock', window );">Stock Issued in Exchange for Services</a></td>
<td class="text"><p id="xdx_84C_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zVNYfpFWLmmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_868_zKuoKEewouH9">Stock Issued in Exchange for Services</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at fair value based upon trading prices of the Company&#8217;s
common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized over the period
that the services are performed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsPolicyTextBlock', window );">Stock-based Compensation</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z7AMVg5P0Y42" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86E_zYUcysUwtS2">Stock-based Compensation</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock-based
compensation expense is recognized for equity awards granted to employees, directors and other eligible participants based on the fair
value of the awards at the grant date. For stock options, fair value is estimated using an appropriate valuation model such as the Black-Scholes
option pricing model. The fair value of stock options is recognized as an expense of the requisite service period, typically the vesting
period, using the graded-vesting method. The Company estimates expensed forfeitures based on historical data and adjusts stock-based
compensation expenses accordingly. Shares are issued from Treasury upon exercise of stock options.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></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_ComprehensiveIncomePolicyPolicyTextBlock', window );">Other Comprehensive Income</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zwYX7ZQXQhp5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_86D_zo1docHWWMb5">Other Comprehensive Income</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Income Per Share</a></td>
<td class="text"><p id="xdx_842_eus-gaap--EarningsPerSharePolicyTextBlock_z3eBVTG1in63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_866_zH2qP2OXIv9j">Income Per Share</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended December
31, 2024 and 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<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 id="xdx_848_eus-gaap--UseOfEstimates_zWRPzYBChKz" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_86B_zXhORJwNQlE3">Use of Estimates</span></i>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p id="xdx_848_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zE5Zxn3cHFGg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_864_z8cjgVWyXSG4">Fair Value of Financial Instruments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; 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.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, investments and the line of credit for all periods presented approximate their respective carrying
amounts due to the short term nature of these financial instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><p id="xdx_843_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zYgJZCbglFBc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_865_zk59GaAKDyX5">Contingencies</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zcFt82fmaJd6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_864_zZZcRIxY8u55">Income Taxes</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income 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 reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
is the Company&#8217;s policy to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s
assessment of whether a tax benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2024,
the Company believes it has appropriately accounted for any unrecognized tax benefits.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the extent the Company prevails in matters for which a liability for an unrecognized benefit is established or is required to pay amounts
in excess of the liability, the Company&#8217;s effective tax rate in a given financial statement period may be affected. Interest and
penalties associated with the Company&#8217;s tax positions are recorded as interest expense in the consolidated statements of income
and comprehensive income.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></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_ConcentrationRiskCreditRisk', window );">Risk Management</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zQe1idJCkAnd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_869_zRI9JxohR6ql">Risk Management</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three primary customers totaled $<span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zIrYMxhtz70f">20,779,311</span>
(<span id="xdx_907_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7yVw9SkpRSf" title="Concentration risk threshold percentage">54</span>%) for the year ended December 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6CEgDlzIBpe">20,482,798</span> or <span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlVWf0mh3Uu8" title="Concentration risk threshold percentage">53</span>%). Accounts receivable for the Company&#8217;s three primary customers
totaled $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zKE6FQrIWkja">7,585,199</span> (<span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zHXR47kRQwYg" title="Concentration risk threshold percentage">65</span>%) at December 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcfkw6nZOgal">6,561,164</span> or <span id="xdx_90D_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zZNgriIhqy3e" title="Concentration risk threshold percentage">67</span>%).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign exchange risk to the extent that market value rate fluctuations materially differ for financial assets
and liabilities denominated in foreign currencies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will refinance
its long-term debt where possible to obtain more favourable rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><p id="xdx_843_eus-gaap--LesseeLeasesPolicyTextBlock_zwqCaasXgiTd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_865_zXvkcTwCDF25">Leases</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#8220;ROU&#8221;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#8217;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#8217;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#8217;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_EquityMethodInvestmentsPolicy', window );">Investments</a></td>
<td class="text"><p id="xdx_848_eus-gaap--EquityMethodInvestmentsPolicy_ztywctyfx10l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_863_z4snU2xnTh5">Investments</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Investment,
at cost</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments in equity securities that do not have a readily determinable fair value using the cost method. These
investments are initially recorded at cost and are not subsequently remeasured unless impaired. Dividends received from cost-method investments
are recognized as income when declared, provided they do not represent a return of capital. The Company evaluates these investments for
impairment at each reporting period based on qualitative factors, such as financial condition, operational performance, and general market
conditions affecting the investee. If an investment is determined to be impaired and the impairment is considered other than temporary,
the carrying amount is reduced to its estimated recoverable value, with the impairment loss recognized in earnings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Investment,
equity method</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments in entities over which it has significant influence, but not control, using the equity method of accounting.
Under the equity method, the investment is initially recorded at cost, and the carrying amount is subsequently adjusted for the Company&#8217;s
share of the investee&#8217;s income, losses, and dividends received. When a portion of an equity-method investment is sold, the Company
recognizes a gain or loss on the sale based on the difference between the carrying amount of the investment sold and the proceeds received.
The Company adjusts the carrying amount of the remaining investment based on its proportionate share of the investee&#8217;s equity after
the sale. The Company assesses its equity-method investments for impairment whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. If the carrying amount of an equity-method investment exceeds its recoverable amount, an
impairment loss is recognized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in">&#160;</p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription', window );">Reclassification</a></td>
<td class="text"><p id="xdx_842_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_z0uFHxABgghl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<span id="xdx_868_zazsskGLvYLb">Reclassification</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform to the 2024 financial statements presentation. Reclassifications had no effect on
net income, cash flows, or stockholders&#8217; equity as previously reported.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</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_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zGpDNmgvkrOi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(u)
<i><span id="xdx_865_zeeq3FNJCMG4">Goodwill and Intangible Assets</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Goodwill</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price over the fair value of identifiable net assets acquired in a business combination. Goodwill
is assigned to reporting units at the date of acquisition and is not amortized but is subject to periodic impairment testing. The carrying
amount of goodwill is adjusted only in the event of impairment or upon the disposal of a business.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Intangible
Assets</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets acquired separately are recorded at cost, while those acquired in a business combination are recognized at fair value as of the
acquisition date. Intangible assets are classified into the following categories:</span></p>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"><tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"></td><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite-Lived
                                            Intangible Assets &#8211; These assets are amortized over their estimated useful lives on
                                            a straight-line basis or another systematic basis that better reflects the pattern of consumption
                                            of economic benefits. The estimated useful lives of these assets are reviewed periodically
                                            to determine whether adjustments are necessary.</span></td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"></td><td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indefinite-Lived
                                            Intangible Assets &#8211; Certain intangible assets are classified as indefinite-lived when
                                            there is no foreseeable limit to the period over which they are expected to contribute to
                                            cash flows. These assets are not amortized but are subject to periodic evaluation to confirm
                                            their classification remains appropriate.</span></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zRbV5intYoW5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(v)
<i><span id="xdx_860_zXZH6T2l2hQ8">Recent Accounting Pronouncements</span>.</i></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-07
(<i>Topic 280) Improvements to Reportable Segment Disclosures</i>. The new guidance requires disclosure of significant segment expenses
that are (1) regularly provided to or easily computed from information regularly provided to the chief operating decision maker and (2)
included in the reported measure of segment profit or loss. The new standard also allows companies to disclose multiple measures of segment
profit or loss if those measures are used to assess performance and allocate resources. We adopted this guidance which resulted in additional
required disclosures included in our consolidated financial statements for the year ended December 31, 2024 and segment disclosure for
the comparative year ended December 31, 2023 were modified retrospectively to include the new requirements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU 2023-09 (<i>Topic 740) Improvements to Income Tax Disclosures</i>. The new guidance is intended to
enhance annual income tax disclosures to address investor requests for more information about the tax risks and opportunities present
in an entity&#8217;s operations. The amendments in this standard require disclosure of additional information in specified categories
with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and
foreign income taxes. They also require greater detail about individual reconciling items in the rate reconciliation to the extent the
impact of those items exceeds a specified threshold. In addition to new disclosures associated with the rate reconciliation, the amendments
in this update require information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign
taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed a quantitative threshold. The amendments
in this update are effective on January 1, 2025 for annual periods beginning after December 15, 2024, and early adoption is permitted.
The Company does not expect the adoption to have a material impact on the consolidated financial statements and has not early adopted
the standard.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
November 2024, the FASB issued ASU 2024-03, I<i>ncome Statement&#8212;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures
(Subtopic 220-40): Disaggregation of Income Statement Expenses</i>, which requires disclosure about the types of costs and expenses included
in certain expense captions presented on the income statement. The new disclosure requirements are effective for the Company&#8217;s
annual periods beginning after December 15, 2026, and interim periods beginning after December 15, 2027, with early adoption permitted,
and may be applied either prospectively or retrospectively. The Company is currently evaluating the ASU to determine its impact on our
consolidated financial statements and disclosures.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Management
does not believe that any other recently issued, but not yet effective, accounting standards if currently adopted would have a material
effect on the accompanying financial statements.</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_FSI_StockIssuedInExchangeForServicesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued in Exchange for Services [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_StockIssuedInExchangeForServicesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_TermDepositsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term Deposits [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_TermDepositsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 450<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477850/954-450-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_CompensationRelatedCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478898/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy</td>
</tr>
<tr>
<td style="padding-right: 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> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483504/205-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfMethodOfDepreciationTableTextBlock', window );">SCHEDULE OF METHOD OF DEPRECIATION</a></td>
<td class="text"><p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zfMiSECon6d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zxcBvKpgR3qj" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 85%; border-collapse: collapse; margin-right: auto">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2Nzj2H08Qzf" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zVzE9ePz2yKf" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zn2E6djnzfR9" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_z1ghGZZV2eJ8" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zfXnk0GdunBj" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  </table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfMethodOfDepreciationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Method of Depreciation [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfMethodOfDepreciationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeasesAbstract', 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_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock', window );">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</a></td>
<td class="text"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zbhZZKg2ZM92" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zE8k3KCZ43Id" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1pt; font-weight: bold"><span style="text-decoration: underline">Right of Use Assets</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance at December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zCfIjzW05UYk" style="width: 16%; text-align: right" title="Right of use assets, beginning balance">167,222</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Amortization</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zwCb3lOvnrU4" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, Amortization">(51,929</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20241231_zbUv1TjT4ifh" style="text-align: right" title="Right of use assets, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20241231_zkbhabwJs2aa" style="text-align: right" title="Right of use assets, Amortization">(13,694</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Early termination of lease</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98B_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zYrxsT2rPrwi" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, early termination of lease">(101,599</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance at December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20241231_zinGg9sgcT71" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0775">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zRydc8mseAL1" style="text-align: right" title="Lease liability, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zAnnfQt24tTf" style="text-align: right" title="Lease interest expense">6,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_ztWqgfZSBvS6" style="border-bottom: Black 1pt solid; text-align: right" title="Payments">(58,080</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20241231_zclt0mcd1Ml6" style="text-align: right" title="Lease liability, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--LeaseInterestExpense_pp0p0_c20240101__20241231_zkoJrjNZiM9j" style="text-align: right" title="Lease interest expense">1,186</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20241231_zPG8SqK9P0Rd" style="text-align: right" title="Payments">(14,880</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Early termination of lease</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_984_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zBEcZHTwH2Ba" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, early termination of lease">(101,599</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance at December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_983_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20241231_zrdt0DA17eal" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0791">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Right of use Asset And Lease Liability [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">SCHEDULE OF ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zceJdz93jAz3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span><span id="xdx_8BD_zsNvlspjAuve" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20241231_zjKi15ji8vB4" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zvJLzn1nj8Sa" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zyZvO4bzX9Va" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">11,983,200</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">10,133,249</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zoH0ovnUx8R" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(287,102</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(290,193</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zOnB23kJ4XFh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    accounts receivable</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,696,098</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">9,843,056</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>48
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">SCHEDULE OF INVENTORY</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zjA55gkuqAFe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span><span id="xdx_8B4_zav20Skyj59d" style="display: none">SCHEDULE OF INVENTORY</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20241231_zaOsFw2WGBEh" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zptX4gkCyfm4" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zooVWBpivpta" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,060,508</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,682,158</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_z5yqieO4BTlh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Raw materials and supplies</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">7,829,687</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,452,731</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zR5hQtYbncsb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    inventory</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">10,890,195</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,134,889</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</a></td>
<td class="text"><p id="xdx_89A_eus-gaap--PropertyPlantAndEquipmentTextBlock_z26C1ni6SvY6" style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif">&#160;</span><span id="xdx_8B3_zW2bFAcFq465" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJsSigAd4Njj" style="text-align: center">2024</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z03gwukTC1e2" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zN289plvkUjh" style="text-align: center">2024</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Net</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zqi9ErJGRXL2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,795,750</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">4,521,212</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,274,538</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zNGLe6XEDFKh" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">168,807</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,448</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zJCC8feQyED2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">124,526</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">117,011</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,515</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zoDBD1e6kTpg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,318,758</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,922,667</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,396,091</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zk7Fe869R7Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0835">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2p1UU4f2rs6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0839">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_znpugGNg8F9a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Technology</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">94,945</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">94,945</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0842">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20241231_zqWRoBHlyTb3" style="border-bottom: Black 1pt solid; text-align: right" title="Cost">28,980,826</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20241231_zHJqqqt8OIL4" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">11,834,642</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20241231_zl30C3rLDUda" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total">17,146,184</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zLAZqoU5RiMg" style="text-align: center">2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z7GyNtS097C3" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zQVJb0ZQHvnh" style="text-align: center">2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Cost</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Net</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zPpHwsnWT94j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,341,605</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,896,887</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,444,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_415_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zYnUXY6iTUj1" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">140,040</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z65UpD8F1Bg5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">177,623</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">165,048</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,575</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zstlo9zVrleh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,017,466</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,799,779</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,217,687</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zfv93Uve4NQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0862">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zw505N51wEEd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0866">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zAd4WYSzuwne" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Technology</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">103,292</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">103,292</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0869">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_zaG8yrTDd3Sc" style="border-bottom: Black 1pt solid; text-align: right" title="Cost">23,365,705</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zEF8TEe7OGta" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation">10,193,918</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zcktki9Ioz39" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total">13,171,787</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INTANGIBLE ASSETS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock', window );">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zi6NgYs1V30b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
and intangibles assets, all of which relates to the acquisition of ENP Investments in 2018, at December 31, 2024 and 2023 consisted of
the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zAGk8Pu7Aixa" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20241231_zT8psaV5jxF8" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49E_20231231_zSAO8KJ7bm8k" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Goodwill_iI_zMNprXjkK17i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; padding-bottom: 1pt">Goodwill</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">2,534,275</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 16%; text-align: right">2,534,275</td><td style="width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--IntangibleAssetsNetExcludingGoodwillAbstract_iB_zGzDhN5MklN2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Intangibles Assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_i01I_maIANEGzAJm_z7XEp1wZbii3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Indefinite lived &#8211; trade secrets and trademarks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">770,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">770,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--FiniteLivedCustomerListsGross_i01I_maILIAEzFbq_zO72N9CLFDW9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Definite lived &#8211; customer lists</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,350,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,350,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_i01NI_di_msILIAEzFbq_z0oKyziAwND5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Accumulated amortization on definite-lived intangibles assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,000,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(840,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsNet_i01TI_mtILIAEzFbq_maIANEGzAJm_zSyj2S8Nfgv4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt">Net definite-lived intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,350,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,510,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01TI_mtIANEGzAJm_zHuUIVOTGSC7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total intangible assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">2,120,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">2,280,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRc4BXpVj4W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B8_zYY52AgYdXXl" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; text-align: left">&#160;</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td id="xdx_49D_20241231_zpdOtLX5pJu" style="display: none; text-align: right">&#160;</td><td style="display: none; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_zt137rRXdiy5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_zrwFIWjVo6o6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_zaVTZmYHqOgj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_z0WYuEw5v8fh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_zj6RP5M57T92" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill and intangible assets, which may be broken down by segment or major class.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>51
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_FSI_ScheduleOfLongTermDepositsTableTextBlock', window );">SCHEDULE OF LONG TERM DEPOSITS</a></td>
<td class="text"><p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zYGlMr5XwdLh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by lessors and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zGyMDO0eIIjh" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20241231_zEt6tfQR8KM9" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zzv9pPsT8Hx4" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zOW484KahRji" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Long term deposits</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">167,882</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">824,254</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfLongTermDepositsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Long Term Deposits [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfLongTermDepositsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock', window );">SCHEDULE OF COMPANY&#8217;S INVESTMENTS</a></td>
<td class="text"><p id="xdx_899_eus-gaap--InvestmentHoldingsScheduleOfInvestmentsTableTextBlock_z1qKehfZgytb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company&#8217;s investments at December
31, 2024 and 2023 consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_z8sGgsl7iEI9">SCHEDULE
OF COMPANY&#8217;S INVESTMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zEMFjctWQbzk" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_z0TyBiL2v412" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Investments, at cost:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--LygosIncMember_zpvYFk2tfrNj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: justify">Lygos Inc., simple agreement for future equity (&#8220;SAFE&#8221;)
    agreement</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,000,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,000,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zdQzMGll72k4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Trio Opportunity Corp., <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIENPTVBBTlmSUyBJTlZFU1RNRU5UUyAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90D_eus-gaap--Investments_iI_c20241231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zopIYtdbNY08" title="Investments">97,000</span> non-voting Class B shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">970,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">970,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z2CKhH2WNwS1" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="display: none; padding-left: 10pt; text-align: justify">Investments, at cost:</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right">970,000</td><td style="display: none; text-align: left">&#160;</td><td style="display: none">&#160;</td>
    <td style="display: none; text-align: left">&#160;</td><td style="display: none; text-align: right">970,000</td><td style="display: none; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Investment, equity method:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EquityMethodInvestments_iI_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zRNP9jfqT6Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt">Florida-based LLC</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,454,381</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,063,960</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--EquityMethodInvestments_iI_zlJeUrtSwcdc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: justify; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,424,381</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,033,960</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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_EquityMethodInvestmentsTextBlock', window );">SCHEDULE OF EQUITY METHOD INVESTMENT</a></td>
<td class="text"><p id="xdx_896_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfk4C1Efn6u9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the activity associated with the Company&#8217;s investment in the Florida based LLC during the years ended December 31, 2024
and 2023 is follows:</span></p>

<p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B8_zuqO14YEKrd2" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Balance, December 31, 2022 &#8211; 50% interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTQQViUm4gIe" style="width: 22%; text-align: right" title="Balance, Beginning">3,758,895</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Balance, December 31, 2022 &#8211; <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_905_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20221231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zbjg8QY4oUa2" title="Ownership percentage">50</span>% interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zK9UD2DnIYle" style="text-align: right" title="Balance, Beginning">3,758,895</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Company&#8217;s proportionate share of earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zQFync7Zgq44" style="text-align: right" title="Company proportionate share of earnings">505,065</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; text-align: justify">Distribution received</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zOlDyUWFFSzh" style="border-bottom: Black 1pt solid; text-align: right" title="Distribution received">(200,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--EquityMethodInvestmentSale_z32XycPEMoUb" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Sale of 30.1% of Florida based LLC</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"></td><td style="padding-bottom: 1pt; text-align: left"></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Balance, December 31, 2023 &#8211; <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90E_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zE8xk2KR5sk4" title="Ownership percentage">50</span>% interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUSUMtvEyqRe" style="text-align: right" title="Balance, Beginning">4,063,960</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Company&#8217;s proportionate share of earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zd8NjGP6ruHl" style="text-align: right" title="Company's proportionate share of earnings">244,857</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Distribution received</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zi5GT4GYV7Ta" style="text-align: right" title="Distribution received">(510,710</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Basis of <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zsJ7tSGgw9r6" title="Interest sold percentage">30.1</span>% of interest sold</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentSale_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zkOhaW2yf6Kc" style="border-bottom: Black 1pt solid; text-align: right" title="Basis of 30.1% of interest sold">(2,343,726</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Balance, December 31, 2024 &#8211; <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20241231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z5DtwtukDwgb" title="Ownership percentage">19.9</span>% interest</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsrEfkG1E501" style="border-bottom: Black 1pt solid; text-align: right" title="Balance, Ending">1,454,381</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestmentsTextBlock', window );">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</a></td>
<td class="text"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zFDw7f7zjTpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized profit and loss information related to the Florida based LLC is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zSgmVn4lG8Oa" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240101__20241231_zsuV8ygmH142" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20231231_zRTbzCsKE8Nh" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_z2YWxdLmMeNh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: justify">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">13,046,436</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">16,043,468</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zFVAFzYxyQOa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt">Gross profit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,640,973</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,668,177</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zL9M9QzHFSi2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Net income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">455,241</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,010,128</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_GainLossOnInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized and unrealized gain (loss) on investment in 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/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 data and information required in the supplementary schedule applicable to management investment companies listing holdings of unaffiliated 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/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-6<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478795/946-210-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAbstract', window );"><strong>Long-Term Debt, Unclassified [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">SCHEDULE OF LONG TERM DEBT</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zfjByeoYdace" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt,
all of which is with StockYards Bank and Trust, at December 31, 2024 and 2023 consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BF_zRk7qt0nuqUl">SCHEDULE
OF LONG TERM DEBT</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20241231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zfIviRVsGhVb" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zDcoHfZBbA9d" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFiB3Icgi1rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">ENP Mendota, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90A_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zewc44s5heYg" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zxCMLxqxuof5" title="Debt instrument term">10</span></span>-year mortgage, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z5MfI2wsNozk" title="Interest rate"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z2hzO0UNs3Vl" title="Interest rate">4.35</span></span>% to <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--LongTermDebtTerm_iI_dtY_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zT2Gnda9WjWg" title="Long term debt, term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--LongTermDebtTerm_iI_dtY_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFni2ZpNR6cc" title="Long term debt, term">5</span></span> year fixed index plus <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zeCYlolZ94Pi" title="Debt Instrument, interest rate, stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zdFCIyUgqGk1" title="Debt Instrument, interest rate, stated percentage">4.50</span></span>% interest, monthly
    payments through to January 2030, collateralized by real property and all rents on said property</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">387,577</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">399,269</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_ztD390msEzgg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">NanoChem, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zk3s96IBLOCb" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zEOvCp9mnNZ" title="Debt instrument term">3</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zfEfghjPfm41" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFpPz4MDn983" title="Debt instrument interest rate stated percentage">4.90</span></span>% interest, monthly principal and interest payments through June
    2025, collateralized by real property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">345,036</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,004,748</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zhRN6eNxC5ff" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Peru, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zzu7FGkCqKyk"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfAqfbvWYycc">10</span></span>-year mortgage,
    <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zFDNjuIEnwIh" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zbW5zJekc3qi" title="Debt instrument interest rate stated percentage">4.35</span></span>% interest, monthly principal and interest payments through January 2030, collateralized by real property (1<sup>st</sup> mortgage)</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,658,381</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,737,232</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--ENPPeruTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zZd6bmgbPV3g" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">ENP Peru, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zr05K2zbfs5" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90D_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zGQt1EdpQpb1" title="Debt instrument term">10</span></span>-year mortgage, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_903_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zUiTsITZZZle" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_z2WqVMmyF2Xf" title="Debt instrument interest rate stated percentage">5.4</span></span>% interest, monthly principal payments plus interest through June 2032,
    collateralized by real property (2nd mortgage)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">243,957</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,207</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemOneMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zpyleOqmBBZc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">NanoChem, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_z2RRvonYm4dk" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zS7k70tYLWu8" title="Debt instrument term">3</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_znAVmQObq75j" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zsAeSlmS3hxd" title="Debt instrument interest rate stated percentage">6.5</span></span>% interest, interest only payments through to July 2024, then monthly
    principal and interest payments through December 2025, collateralized by manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,355,285</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,475,188</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--MendotaLLCMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zmPWnbpIIEH1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">317 Mendota, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zxcAlqulTMP2" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zHjatRaYT085" title="Debt instrument term">5</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zpQmlW6CrbJ6" title="Debt instrument interest rate stated percentage"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zGGVpkVnGFP9" title="Debt instrument interest rate stated percentage">6.79</span></span>% interest, interest only payments through June 2024, then monthly
    principal and interest payments through June 2028 with lump sum payment of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--RepaymentsOfLongTermDebt_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zSAtVcAj2CT4" title="Repayment of debt"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90C_eus-gaap--RepaymentsOfLongTermDebt_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zChbNdiezmzf" title="Repayment of debt">2,024,710</span></span> due in June 2028, collateralized by real property</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,223,667</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,248,292</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zH3mfIwVGRv5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Nanochem, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zBggygSFeOxl" title="Debt instrument term"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zWYKY2NsRrl5" title="Debt instrument term">5</span></span>-year note payable, <span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zANUruu3KDvk" title="Debt interest rate"><span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zwhfaADsRs16" title="Debt interest rate">7.0</span></span>% interest, monthly principal payments plus interest
    through August 2029, collateralized by manufacturing equipment</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,545,945</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1143">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zG6s80JZZmH7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,759,848</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_zGMlbiBs7bz9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Less: current portion</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,140,981</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,281,632</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zCNgsUqFdJpa" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,618,867</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,833,304</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS</a></td>
<td class="text"><p id="xdx_896_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zjUaXccWyEnh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the scheduled annual future principal payments as of December 31, 2024</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zQjE9CmyoEk8">SCHEDULE
OF ANNUAL FUTURE PRINCIPAL PAYMENTS</span>&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid">Year Ended December 31,</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20241231_za2SN15wQIyg" style="border-bottom: Black 1pt solid; text-align: center">Principal Amount Due</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzRNL_zaQVCrLZLZ03" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">2025</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 26%; text-align: right">2,140,981</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzRNL_zSe3KudouMRi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">467,149</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_iI_maLTDzRNL_z9FdV4VBMEV4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">498,454</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_iI_maLTDzRNL_ztacf2cxx1nf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,530,128</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_iI_maLTDzRNL_zdDLMFyHcPxe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,123,136</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebt_iTI_mtLTDzRNL_zorlUIKvpk77" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">8,759,848</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-50-3<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-8<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-6<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity and sinking fund requirement for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zOadQaAQrFyj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax expense (benefit) is comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B5_z8miQvXdah08" style="display: none">SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20240101__20241231_zaEpDMyfYhrg" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_498_20230101__20231231_zRataxIy18pk" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zG79aiy81Aa5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Current tax, federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">763,471</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">753,683</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_zPU20h1KBKp2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">345,380</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">340,952</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_zqwgv1y1sTq3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Current tax, foreign</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">217,552</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">151,236</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zAJK7apapEPj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,326,403</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,245,871</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zhWQodZR2d4j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Income tax benefit</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(621,959</span></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,127,689</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_zl0tGZl2g5i7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current tax, total expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">704,444</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">118,182</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_z4mnKKxBdvPe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income tax, federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">101,053</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(172,763</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zsuw1v3aaHIf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income tax, state</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,714</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(78,154</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zjaNTHKHHmV8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Deferred income tax, foreign</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1204">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1205">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_zVj6eRjwXtl5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Deferred income tax, total expense (benefit)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">146,767</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(250,917</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_z6zmz9Pb58J7" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">851,211</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(132,735</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">SCHEDULE OF RECONCILIATION OF INCOME TAXES</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zlvBCbWzr1Nc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#8217;s effective
tax rates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B9_zkALHIo9wCE" style="display: none">SCHEDULE OF RECONCILIATION OF INCOME TAXES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20240101__20241231_zwDH1IeKBZ8a" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20230101__20231231_zZ83YNVNt2a7" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>

<tr id="xdx_406_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_zqz8AWCr5Ys7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax - United States</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,472,950</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,249,901</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_zzdyWpxSQbyc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax - Canada</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">479,850</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">373,349</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_ecustom--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_zxt3jEJUdXz3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
    before income tax</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,952,800</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,623,250</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_ze1huvSMDtk4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">US
    federal statutory tax rate</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.00</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.00</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">%</span></td></tr>
  <tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zTyimVX0nkG2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Expected
    income tax expense</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,040,088</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">760,883</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_z217L0opJJY3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">State
    income tax expense, net of federal tax benefit</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">371,708</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">344,208</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-deductible
    items</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">64,857</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">362,554</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Change in
    estimates and other</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(194,142</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1,585,427</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign tax
    rate differential</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(35,952</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(92,379</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Change
    in valuation allowance</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(395,348</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">77,426</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
    income taxes expense (benefit)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">851,211</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(132,735</span></td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  </table>


<p style="margin: 0"></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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zqNMKAI3Uwc5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2024 and 2023 are comprised of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zD272esnnRc1" style="display: none">SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_496_20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zYKn9ll80bIl" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zgg2fvHlyOt3" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Canada</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzi6P_zPVFNjIYHU9l" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left; padding-left: 10pt">Non-capital loss carryforwards</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,059,468</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">855,176</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_ecustom--DeferredTaxAssetsShareIssuanceCosts_iI_maDTAGzi6P_z5KaaKqIWKu4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Share issuance costs</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,024</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><span style="-sec-ix-hidden: xdx2ixbrl1258">-</span></p></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_maDTAGzi6P_zmeC22FTW8Pj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Property, equipment and leaseholds</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">27,995</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">30,916</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzi6P_maDTANz7Lk_zDyCgKnhCIIf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred tax assets gross</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,088,487</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">886,092</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz7Lk_z8GiDQ6plE1c" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Valuation allowance</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,088,487</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(886,092</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz7Lk_zyUux6ZkcB28" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt">Net deferred tax asset</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1269">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1270">-</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin: 0">&#160;</p>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1pt">&#160;</td><td style="text-align: center; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td id="xdx_49C_20241231_zsQzWC6ne2T9" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td id="xdx_495_20231231_zB0WYN7d4jlj" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt; text-align: center">&#160;</td></tr>

<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">United States</td><td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzybq_zh25brcMXN52" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
    operating loss carryforwards</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">190,024</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1273">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_401_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iI_maDTAGzybq_zukF2HuXEYmc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property,
    equipment and leaseholds</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">502,646</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">36,093</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzybq_maDTANz3Hm_zMvok54rRvDh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    tax asset</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">692,670</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">36,093</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz3Hm_zBSIWxXd1eke" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
    allowance</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(192,953</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1282">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz3Hm_maDTALNzuqF_zhgHnrhs8GQk" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt">Net deferred tax asset</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">499,717</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right">36,093</td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_iNI_di_maDITLzQ2S_z3pr9qAi9ECa" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
    assets</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(516,414</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(11,346</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesInvestments_iNI_di_maDITLzQ2S_zwacTiSlQhj7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Investments</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(105,322</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1291">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--DeferredIncomeTaxLiabilities_iNTI_di_mtDITLzQ2S_msDTALNzuqF_zVvf1xeGf5R4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
    tax liability</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(621,736</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(11,346</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--DeferredTaxAssetsLiabilities_iTI_mtDTALNzuqF_zFGJk4sVKCh9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
    deferred tax asset (liability)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(122,019</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">24,747</span></td><td style="padding-bottom: 1pt; font-size: 12pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>



<p style="margin: 0"></p>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock', window );">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</a></td>
<td class="text"><p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zk3EUo4K4156" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zT5sfl200BI9" style="display: none">SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Loss</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">2030</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_zrCA498GOphb" style="width: 26%; text-align: right" title="Total">249,807</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2031</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zDGLr1W8zpU7" style="text-align: right" title="Total">865,746</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2032</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zeS8FvE7Jt89" style="text-align: right" title="Total">566,109</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2037</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zthjaN6151cl" style="text-align: right" title="Total">1,555,780</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2039</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zmGwLavsSKHk" style="text-align: right" title="Total">134,471</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2040</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zoMXC8ajf3sl" style="text-align: right" title="Total">396,186</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2041</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyOneYearMember_z4BWiB12Loyd" style="text-align: right" title="Total">301,063</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2042</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyTwoYearMember_zgNY5GDhgAXf" style="text-align: right" title="Total">315,157</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">2043</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyThreeYearMember_zue9S8Mvucqe" style="border-bottom: Black 1pt solid; text-align: right" title="Total">222,064</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231_zpBwksLvD596" style="border-bottom: Black 1pt solid; text-align: right" title="Total">4,606,383</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of nonoperating loss carryforwards [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</a></td>
<td class="text"><p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zZcTm6dL7Yq1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company presents both basic and diluted income per share on the face of its consolidated statements of income and comprehensive income.
Basic and diluted income per share are calculated as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zfuErYI7p5s9" style="display: none">SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20240101__20241231_zH13FE94Zm9e" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20230101__20231231_zIOamJWTHffa" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net income attributable to controlling interest</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,038,529</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,775,864</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average common shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_z2Rh2LsmSHD1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,454,957</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,434,886</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_ztli2YKt7eZa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,680,668</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,489,467</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income per common share attributable to controlling interest:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 10pt">Basic and diluted</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20240101__20241231_zVxBU8lrznf" title="Net income per common share attributable to controlling interest: Basic"><span id="xdx_90A_eus-gaap--EarningsPerShareDiluted_c20240101__20241231_zdvFNPX3RPb4" title="Net income per common share attributable to controlling interest: Diluted">0.24</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_901_eus-gaap--EarningsPerShareBasic_c20230101__20231231_zUHyXZJb6Cta" title="Net income per common share attributable to controlling interest: Basic"><span id="xdx_90B_eus-gaap--EarningsPerShareDiluted_c20230101__20231231_zdntjnh8HBMe" title="Net income per common share attributable to controlling interest: Diluted">0.22</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">SCHEDULE OF ANTI-DILUTIVE OPTIONS</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_ztsS6MRigX2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B2_zRKmwMuDA9l6" style="display: none">SCHEDULE OF ANTI-DILUTIVE OPTIONS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20241231_zAcSQ6CefYek" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20231231_zrvzsI9Fszn5" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 60%">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Anti-dilutive options</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">745,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">740,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive 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> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">SCHEDULE OF STOCK OPTION ACTIVITIES</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zCBn68sReWB4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the years ended December 31, 2024 and 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span><span id="xdx_8B7_zcxwqJ1yR25a" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Number of shares</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Exercise price <br/> per share</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">Weighted average <br/> exercise price</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zP7uxiN9mCW7" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance">1,686,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9BQUlZK6VM1" title="Exercise price per share, Beginning Balance">1.70</span>
                                            &#8211;<span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_z1ecJV1rwIT2" title="Exercise price per share, Beginning Balance"> 4.13</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zc0LjSWaewM9" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance">3.26</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_ztRhOeBCHNl3" style="text-align: right" title="Number of shares, Cancelled or expired">(564,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zt2BuIssL51f" title="Exercise price per share, Cancelled or expired">3.46</span>
                                       &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zFGBFVrPtTi3" title="Exercise price per share, Cancelled or expired">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zQqkE3R0Y46l" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercised</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zk0K93DWQo12" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised">(8,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zHgSGbA5z4pe" title="Exercise price per share, Exercised">1.70</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_z2cBZkNT7EUg" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20241231_ziwwxEhckITk" style="text-align: right" title="Number of shares, Beginning Balance">1,114,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zrZdKYoPX13d" title="Exercise price per share, Beginning Balance">1.75</span>
                                       &#8211; <span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_ztxuceU9uf7e" title="Exercise price per share, Beginning Balance">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20241231_zHDedNoz3UI3" title="Weighted average exercise price, Beginning Balance">3.13</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20241231_zw4xHcpzStq6" style="text-align: right" title="Number of shares, Granted">1,081,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfNYHcKlP794" title="Exercise price per share, Granted">2.00
</span>                                       &#8211; <span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_znqnSYzZa4W2" title="Exercise price per share, Granted">4.05</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20241231_z0J0LrTgOb9l" style="text-align: right" title="Weighted average exercise price, Granted">2.12</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20241231_zPvPIfEZLm22" style="text-align: right" title="Number of shares, Cancelled or expired">(275,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zQ3Gya0JIFJ6" title="Exercise price per share, Cancelled or expired">1.75</span>
                                       &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z43dscSw3lTa" title="Exercise price per share, Cancelled or expired">3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20241231_zorPuhj0RUv8" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.54</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercised</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20241231_zQ2bVLGK0Vl6" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised">(80,000</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z38dCbHHsdMi" title="Exercise price per share, Exercised">1.75</span>
                                            &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zr5d0cnrP1Qa" title="Exercise price per share, Exercised">2.44</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20241231_z4jwUNnjThF" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised">2.31</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20241231_zjOF5qQnP4V4" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Ending Balance">1,840,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zFCRa9SFJD5i" title="Exercise price per share, Ending Balance">2.00</span>
                                            &#8211; <span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zibPhPl3Jyf9" title="Exercise price per share, Ending Balance">4.05</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20241231_z3O6Er2eDOS6" title="Weighted average exercise price, Ending Balance">2.68</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Exercisable, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20241231_znVrUihVo2tk" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">939,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfmfJDxmbKuj" title="Exercise price per share Exercisable, Ending Balance">2.00</span>
                                            &#8211; <span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zydmsRRuazu8" title="Exercise price per share Exercisable, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20241231_zV7aOpSKnlA1" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance">2.71</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock', window );">SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION</a></td>
<td class="text"><p id="xdx_89E_ecustom--ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_zNgzfHBNogG6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the years ended December 31, 2024 and 2023, the Company recognized stock based compensation associated with stock options as
follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zpBdIW8XeWW1">SCHEDULE
OF RECOGNIZED STOCK BASED COMPENSATION&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20240101__20241231_zzQx6JyXKmri" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_z6LspYiWBZFf" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Line item on the statement of income and comprehensive income:</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--WagesAndAdministrativeSalariesMember_zmzDFgPlti0j" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: justify">Wages and administrative salaries</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">623,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">331,609</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--ConsultingMember_zDTmhKt6Hu9j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt">Consulting</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">50,130</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">63,471</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--ShareBasedCompensation_z3597WWSTQbb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 1pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock
    based compensation</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">673,130</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">395,080</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zx8bKhJcjWzf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zyjqvPalQXV3" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20241231_zC1fOZYv7x3e" title="Expected life - years">3.0</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zKoSOZA5Wkcc" title="Interest rate">1.76</span>
                                            &#8211; <span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zDgseRfr4G47" title="Interest rate">4.11</span></span>%</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z50nZiFVWlVe" title="Volatility">66.01</span>
                                            &#8211;<span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_za2brpHc0eS6" title="Volatility"> 71.59</span>%</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">$<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zN9QEMVEFYU3" title="Weighted average fair value of options granted">1.46</span>
                                            &#8211; <span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z5y3e49WpjGk" title="Weighted average fair value of options granted">2.02</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Recognized Share Based Compensation Stock Options [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfDistributionsTableTextBlock', window );">SCHEDULE OF DISTRIBUTIONS</a></td>
<td class="text"><p id="xdx_89B_ecustom--ScheduleOfDistributionsTableTextBlock_zW8AQ2VemZV3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>&#160;</i></span><span id="xdx_8BE_zgfRv1AnDza" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zbehpKCsLuQ3" style="width: 16%; text-align: right" title="Non-controlling interests, Beginning balance">2,605,034</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zAWR6LxFVUaj" style="text-align: right" title="Distribution">(719,439</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zwgWCWHLZiCa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income">1,015,604</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zGhZ3vCmPWJ8" style="text-align: right" title="Non-controlling interests, Beginning balance">2,901,199</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zR9ErOnHUbtc" style="text-align: right" title="Distribution">(794,722</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Non-controlling interest share of income</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_ztIm5oRoTlLb" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income">1,164,037</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh2z69JPcRq1" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance">3,270,514</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock', window );">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</a></td>
<td class="text"><p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_z7uko9EpX0P9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z2ONKTcO2qT7" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVHkHGhGXHd" style="text-align: right" title="Non-controlling interests, beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1571">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcrPXouzWZ79" style="width: 16%; text-align: right" title="Non-controlling interests, Acquisition">200,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of loss</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zOZCt3oJNq3k" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss">(35,483</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z10GCwtAHhvj" style="text-align: right" title="Non-controlling interests, beginning balance">164,517</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Non-controlling interest share of loss</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zEnacAcrKOr9" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss">(100,977</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Balance, December 31, 2024</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zsv2bpViMjDa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance">63,540</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfDistributionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Distributions [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfDistributionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Non-Controlling Interest Related to Acquisition [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTS AND (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock', window );">SCHEDULE OF REPORTABLE SEGMENTS</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zmy4jqovwS8f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zszJQyAViofa" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240101__20241231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zPx3sv107y2j" style="border-bottom: Black 1pt solid; text-align: center">EWCP</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20240101__20241231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGUWGxUWlYg" style="border-bottom: Black 1pt solid; text-align: center">BPCA</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_493_20240101__20241231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zm0bOSYp2ga" style="border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
    <sup id="xdx_F5A_zu1sYbQTque">(1)</sup></span></td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20240101__20241231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJtHMf6mxvt8" style="border-bottom: Black 1pt solid; text-align: center">Consolidated</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zN8krYuJTFoj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 36%">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">759,549</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">37,475,311</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1591">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">38,234,860</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--CostOfGoodsAndServicesSold_zNoh9eaSjFjb" style="vertical-align: bottom; background-color: White">
    <td>Cost of sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">350,345</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,644,616</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1596">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,994,961</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--GrossProfit_zX2tyeeh2Crk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">409,204</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,830,695</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1601">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,239,899</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--SalariesWagesAndOfficersCompensation_z5wiISVx1A22" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Wages and administrative salaries</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">90,043</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,653,182</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1606">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,743,225</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--OtherGeneralExpense_zIPquFwNN2B" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office &amp; Miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,327</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">759,410</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">570</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">805,307</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--SegmentReportingOtherItemAmount_z7OH9jjs0n33" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment items <sup id="xdx_F46_zaLbFgnXlaQe">(2)</sup></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">57,056</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,699,196</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">419,709</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,175,961</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingIncomeLoss_zB6HK3EhPQ81" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">216,778</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,718,907</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(420,279</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,515,406</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InterestExpenseOperating_zHY2fv8jApFd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">309</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">609,956</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1626">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">610,265</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zIpsk9ChtWr3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Depreciation and amortization (included in COGS)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,298</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,942,178</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1631">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,957,476</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z8jP9HYAi26" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capital expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1634">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,964,736</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1636">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,964,736</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Assets_iE_zCAjf0hgiqRf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assets <sup id="xdx_F43_zP7K1iJhSp9f">(3)</sup></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,588,731</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,415,104</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">964,744</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">59,968,579</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Year
ended December 31, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_497_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zzDuCnEh0n27" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">EWCP</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_498_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z05E34IwMeAg" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">BPCA</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49D_20230101__20231231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zxRwroPJsks9" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
    <sup id="xdx_F5F_zQwKUFmAg8w3">(1)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_499_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zx4JjkW49IJf" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consolidated</span></td><td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zWxDumrJJQbd" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 36%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">572,845</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">37,751,961</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1646">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">38,324,806</span></td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--CostOfGoodsAndServicesSold_zwTqRvuIL6w3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost of sales</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">359,429</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27,522,292</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1651">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27,881,721</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--GrossProfit_zRrx541S8Bcb" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross profit</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">213,416</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10,229,669</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1656">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10,443,085</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_405_eus-gaap--SalariesWagesAndOfficersCompensation_z3lbG84udN3f" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Wages and
    administrative salaries</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">92,302</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,772,359</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1661">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,864,661</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_401_eus-gaap--OtherGeneralExpense_zOFLqNxD4xl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office &amp;
    Miscellaneous</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">46,968</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">465,535</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">393</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">512,896</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--SegmentReportingOtherItemAmount_z0kplWjdm6lh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment
    items <sup id="xdx_F47_zbKPvL7nem2i">(2)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">79,809</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,109,582</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">376,581</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,565,972</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--OperatingIncomeLoss_zlsVM7BPFag8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net operating
    income</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5,663</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,885,680</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(376,975</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,503,042</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_409_eus-gaap--InterestExpenseOperating_zY5zMQ54l9I9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">387</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">498,279</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1681">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">498,666</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zHZmXc2T9cX2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Depreciation
    (included in COGS)</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">17,411</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,668,908</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1686">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,686,319</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_40F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zNLgzZZj2Qfl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Capital expenditures</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1689">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,990,675</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl1691">-</span></span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,990,675</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr id="xdx_404_eus-gaap--Assets_iE_zsPB8qktVkq8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assets <sup id="xdx_F4E_zZOu9ypj6VAa">(3)</sup></span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,889,596</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">50,627,932</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">953,527</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">55,471,055</span></td><td style="font: 10pt Times New Roman, Times, Serif; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F08_zyDNgBbwaffk">(1)</sup></span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F13_z9Ay3peHObbi" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other is not considered
an operating segment and includes expenses and income not identifiable to an operating segment and is not included in operating segment
results</span></td>
</tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F08_zhTCQ3asN9u">(2)</sup></span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F15_zBz1qwXe3gFd" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other segment items
for each reportable segment includes insurance,  consulting, research, and professional fees.</span></td>
</tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"><tr style="vertical-align: top; text-align: justify">
<td style="width: 15pt; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup id="xdx_F05_zHBcpUKmu8G5">(3)</sup></span></td><td style="width: 5pt"></td><td style="text-align: justify"><span id="xdx_F16_zo5NHbXJFt4c" style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Segment
                                                                                                                                                                                                     assets include cash, term deposits, accounts receivable, inventory, prepaid expenses, property, equipment and leaseholds, right of
                                                                                                                                                                                                     use assets, security deposits, intangible assets, and goodwill.</span></td>
</tr></table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zTgqT9iFNHib" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zezhQPSplhuk" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20240101__20241231_zXtZjuchs647" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20231231_zmTQ469BQLp2" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zF15a979qKe2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">400,693</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">755,844</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zlvJnjYvKtGk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">United States and abroad</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">37,834,167</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">37,568,962</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zzLforfA036l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">38,234,860</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">38,324,806</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</a></td>
<td class="text"><p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zRwap87N8RKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_z5VPPeL5fmf8" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_492_20241231_zVt06JbFngZ3" style="border-bottom: Black 1pt solid; text-align: center">2024</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20231231_zeTPiDme4hta" style="border-bottom: Black 1pt solid; text-align: center">2023</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zdB01Z07JaLe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">116,496</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">142,577</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zTmDMoVTlsG7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">United States</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,683,963</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,958,778</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_z3z9mOV1GWMj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt">Total</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,800,459</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">18,101,355</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION (Details Narrative)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">80.00%<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member] | Unrelated Party [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_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Noncontrolling interest percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember', window );">ENP Investments LLC and ENP Mendota [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">65.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_srt_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_IncreaseDecreaseInSharePercentage', window );">Increase decrease in share percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">91.67%<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_FSI_RemainingInvestmentOwnedPercentage', window );">Remaining investment owned percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.33%<span></span>
</td>
<td class="nump">8.33%<span></span>
</td>
</tr>
<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=FSI_ENPPeruMember', window );">ENP Peru [Member] | Unrelated Party [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_IncreaseDecreaseInSharePercentage', window );">Increase decrease in share percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.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_OwnershipAxis=FSI_ENPInvestmentsAndENPMendotaMember', window );">ENP Investments And 317 ENP Mendota [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_IncreaseDecreaseInSharePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase decrease in share 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;">FSI_IncreaseDecreaseInSharePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_RemainingInvestmentOwnedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining investment owned 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;">FSI_RemainingInvestmentOwnedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="padding-right: 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_srt_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_MendotaLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_UnrelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_UnrelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_ENPInvestmentsLLCAndENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ENPInvestmentsLLCAndENPMendotaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_ENPPeruMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ENPPeruMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_ENPInvestmentsAndENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ENPInvestmentsAndENPMendotaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF METHOD OF DEPRECIATION (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<span></span>
</td>
</tr>
<tr class="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_OfficeEquipmentMember', window );">Office Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<span></span>
</td>
</tr>
<tr class="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_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">10%
    Declining balance<span></span>
</td>
</tr>
<tr class="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_AutomobilesMember', window );">Automobiles [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 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=us-gaap_TechnologyEquipmentMember', window );">Technology Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DepreciationMethodUsedAndAnnualRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Depreciation method used and annual rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DepreciationMethodUsedAndAnnualRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AutomobilesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TechnologyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TechnologyEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 38,234,860<span></span>
</td>
<td class="nump">$ 38,324,806<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">24,994,961<span></span>
</td>
<td class="nump">27,881,721<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Revenue from Contract with Customer Benchmark [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_ProductInformationLineItems', window );"><strong>Product 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 20,779,311<span></span>
</td>
<td class="nump">$ 20,482,798<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_FSI_ConcentrationRiskThresholdPercentage', window );">Concentration risk threshold percentage</a></td>
<td class="nump">54.00%<span></span>
</td>
<td class="nump">53.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 7,585,199<span></span>
</td>
<td class="nump">$ 6,561,164<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_FSI_ConcentrationRiskThresholdPercentage', window );">Concentration risk threshold percentage</a></td>
<td class="nump">65.00%<span></span>
</td>
<td class="nump">67.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_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember', window );">Shipping and Handling [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_ProductInformationLineItems', window );"><strong>Product 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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 473,843<span></span>
</td>
<td class="nump">$ 522,033<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">895,463<span></span>
</td>
<td class="nump">$ 944,811<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=FSI_FirstTermMember', window );">First Term [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_ProductInformationLineItems', window );"><strong>Product 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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 303,954<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=FSI_SecondTermMember', window );">Second Term [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_ProductInformationLineItems', window );"><strong>Product 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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 742,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">2.65%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_ShortTermDebtTypeAxis=FSI_ThirdTermMember', window );">Third Term [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_ProductInformationLineItems', window );"><strong>Product 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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 1,038,721<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">2.50%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_ShortTermDebtTypeAxis=FSI_FourthTermMember', window );">Fourth Term [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_ProductInformationLineItems', window );"><strong>Product 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_Deposits', window );">Deposits</a></td>
<td class="nump">$ 315,407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">3.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_FSI_ConcentrationRiskThresholdPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Concentration Risk Threshold 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;">FSI_ConcentrationRiskThresholdPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_MinimumInterestPenalty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum interest penalty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_MinimumInterestPenalty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Deposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Deposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ProductInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ThreePrimaryCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RevenueFromContractWithCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RevenueFromContractWithCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ShortTermDebtTypeAxis=FSI_FirstTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ShortTermDebtTypeAxis=FSI_FirstTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ShortTermDebtTypeAxis=FSI_SecondTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ShortTermDebtTypeAxis=FSI_SecondTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ShortTermDebtTypeAxis=FSI_ThirdTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ShortTermDebtTypeAxis=FSI_ThirdTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ShortTermDebtTypeAxis=FSI_FourthTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ShortTermDebtTypeAxis=FSI_FourthTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right of use assets, beginning balance</a></td>
<td class="nump">$ 115,293<span></span>
</td>
<td class="nump">$ 167,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Right of use assets, Amortization</a></td>
<td class="num">(13,694)<span></span>
</td>
<td class="num">(51,929)<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_FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease', window );">Right of use assets, early termination of lease</a></td>
<td class="num">(101,599)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Right of use assets, ending balance</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">115,293<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Lease liability, beginning balance</a></td>
<td class="nump">115,293<span></span>
</td>
<td class="nump">167,222<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_FSI_LeaseInterestExpense', window );">Lease interest expense</a></td>
<td class="nump">1,186<span></span>
</td>
<td class="nump">6,151<span></span>
</td>
</tr>
<tr class="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 );">Payments</a></td>
<td class="num">(14,880)<span></span>
</td>
<td class="num">(58,080)<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_FSI_OperatingLeaseLiabilityEarlyTerminationOfLease', window );">Lease liability, early termination of lease</a></td>
<td class="num">(101,599)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Lease liability, ending balance</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 115,293<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_LeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_OperatingLeaseLiabilityEarlyTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating lease liability early termination of 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;">FSI_OperatingLeaseLiabilityEarlyTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Right of use assets early termination of 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;">FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLeaseIncomeLeasePayments', window );">Payment of penalty</a></td>
<td class="nump">$ 35,910<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecurityDeposit', window );">Security deposit</a></td>
<td class="nump">5,440<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnTerminationOfLease', window );">Loss on terminating lease</a></td>
<td class="nump">$ 41,350<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 termination of lease before expiration of lease term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 40<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479092/842-20-40-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLeaseLeaseIncomeLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 income from lease payments paid and payable to lessor. Excludes variable lease payments not included in measurement of lease receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-6A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLeaseIncomeLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SecurityDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecurityDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>64
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ACCOUNTS RECEIVABLE (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Accounts receivable</a></td>
<td class="nump">$ 11,983,200<span></span>
</td>
<td class="nump">$ 10,133,249<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables', window );">Allowances for doubtful accounts</a></td>
<td class="num">(287,102)<span></span>
</td>
<td class="num">(290,193)<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_AccountsAndNotesReceivableNet', window );">Total accounts receivable</a></td>
<td class="nump">$ 11,696,098<span></span>
</td>
<td class="nump">$ 9,843,056<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_AccountsAndNotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 accounts and financing receivable. Includes, but is not limited to, notes and loan receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsAndNotesReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>65
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF INVENTORY (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Completed goods</a></td>
<td class="nump">$ 3,060,508<span></span>
</td>
<td class="nump">$ 2,682,158<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSupplies', window );">Raw materials and supplies</a></td>
<td class="nump">7,829,687<span></span>
</td>
<td class="nump">8,452,731<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventory</a></td>
<td class="nump">$ 10,890,195<span></span>
</td>
<td class="nump">$ 11,134,889<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsAndSupplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsAndSupplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>66
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">Cost</a></td>
<td class="nump">$ 28,980,826<span></span>
</td>
<td class="nump">$ 23,365,705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">11,834,642<span></span>
</td>
<td class="nump">10,193,918<span></span>
</td>
</tr>
<tr class="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, total</a></td>
<td class="nump">17,146,184<span></span>
</td>
<td class="nump">13,171,787<span></span>
</td>
</tr>
<tr class="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_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [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 );">Cost</a></td>
<td class="nump">12,795,750<span></span>
</td>
<td class="nump">12,341,605<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">4,521,212<span></span>
</td>
<td class="nump">3,896,887<span></span>
</td>
</tr>
<tr class="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, total</a></td>
<td class="nump">8,274,538<span></span>
</td>
<td class="nump">8,444,718<span></span>
</td>
</tr>
<tr class="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_AutomobilesMember', window );">Automobiles [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 );">Cost</a></td>
<td class="nump">196,255<span></span>
</td>
<td class="nump">196,255<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">168,807<span></span>
</td>
<td class="nump">140,040<span></span>
</td>
</tr>
<tr class="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, total</a></td>
<td class="nump">27,448<span></span>
</td>
<td class="nump">56,215<span></span>
</td>
</tr>
<tr class="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_OfficeEquipmentMember', window );">Office 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 );">Cost</a></td>
<td class="nump">124,526<span></span>
</td>
<td class="nump">177,623<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">117,011<span></span>
</td>
<td class="nump">165,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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">7,515<span></span>
</td>
<td class="nump">12,575<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Cost</a></td>
<td class="nump">15,318,758<span></span>
</td>
<td class="nump">10,017,466<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">6,922,667<span></span>
</td>
<td class="nump">5,799,779<span></span>
</td>
</tr>
<tr class="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, total</a></td>
<td class="nump">8,396,091<span></span>
</td>
<td class="nump">4,217,687<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>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 );">Cost</a></td>
<td class="nump">440,592<span></span>
</td>
<td class="nump">440,592<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">440,592<span></span>
</td>
<td class="nump">440,592<span></span>
</td>
</tr>
<tr class="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 );">Cost</a></td>
<td class="nump">10,000<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">10,000<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="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, total</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="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_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [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 );">Cost</a></td>
<td class="nump">94,945<span></span>
</td>
<td class="nump">103,292<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">94,945<span></span>
</td>
<td class="nump">103,292<span></span>
</td>
</tr>
<tr class="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, total</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AutomobilesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_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_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=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 1,797,476<span></span>
</td>
<td class="nump">$ 1,526,319<span></span>
</td>
</tr>
<tr class="re">
<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 );">Sale of assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,589<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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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>68
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 2,534,275<span></span>
</td>
<td class="nump">$ 2,534,275<span></span>
</td>
</tr>
<tr class="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>Intangibles 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_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived &#8211; trade secrets and trademarks</a></td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,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_FiniteLivedCustomerListsGross', window );">Definite lived &#8211; customer lists</a></td>
<td class="nump">2,350,000<span></span>
</td>
<td class="nump">2,350,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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization on definite-lived intangibles assets</a></td>
<td class="num">(1,000,000)<span></span>
</td>
<td class="num">(840,000)<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_FiniteLivedIntangibleAssetsNet', window );">Net definite-lived intangible assets</a></td>
<td class="nump">1,350,000<span></span>
</td>
<td class="nump">1,510,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_IntangibleAssetsNetExcludingGoodwill', window );">Total intangible assets</a></td>
<td class="nump">$ 2,120,000<span></span>
</td>
<td class="nump">$ 2,280,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_FiniteLivedCustomerListsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 finite-lived asset representing customer list acquired in business combination, asset acquisition, and from joint venture formation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedCustomerListsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2025</a></td>
<td class="nump">$ 160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2026</a></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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2027</a></td>
<td class="nump">160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2028</a></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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2029</a></td>
<td class="nump">$ 160,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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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>70
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INTANGIBLE ASSETS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="nump">$ 160,000<span></span>
</td>
<td class="nump">$ 160,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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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>71
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG TERM DEPOSITS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_DepositsAssetsNoncurrent', window );">Long term deposits</a></td>
<td class="nump">$ 167,882<span></span>
</td>
<td class="nump">$ 824,254<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>72
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Total</a></td>
<td class="nump">$ 3,424,381<span></span>
</td>
<td class="nump">$ 6,033,960<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_dei_LegalEntityAxis=FSI_LygosIncMember', window );">Lygos Inc [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_Investments', window );">Investments, at cost:</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember', window );">Trio Opportunity Corp [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_Investments', window );">Investments, at cost:</a></td>
<td class="nump">970,000<span></span>
</td>
<td class="nump">970,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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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_EquityMethodInvestments', window );">Total</a></td>
<td class="nump">$ 1,454,381<span></span>
</td>
<td class="nump">$ 4,063,960<span></span>
</td>
<td class="nump">$ 3,758,895<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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-14<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_dei_LegalEntityAxis=FSI_LygosIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_LygosIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF COMPANY&#8217;S INVESTMENTS (Details) (Parenthetical) - Trio Opportunity Corp [Member] - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investments</a></td>
<td class="nump">$ 970,000<span></span>
</td>
<td class="nump">$ 970,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_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_Investments', window );">Investments</a></td>
<td class="nump">$ 97,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-14<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>74
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF EQUITY METHOD INVESTMENT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">$ 6,033,960<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Balance, Ending</a></td>
<td class="nump">3,424,381<span></span>
</td>
<td class="nump">$ 6,033,960<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">4,063,960<span></span>
</td>
<td class="nump">3,758,895<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Company's proportionate share of earnings</a></td>
<td class="nump">244,857<span></span>
</td>
<td class="nump">505,065<span></span>
</td>
</tr>
<tr class="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 received</a></td>
<td class="num">(510,710)<span></span>
</td>
<td class="num">(200,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_EquityMethodInvestmentSale', window );">Basis of 30.1% of interest sold</a></td>
<td class="num">(2,343,726)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Balance, Ending</a></td>
<td class="nump">$ 1,454,381<span></span>
</td>
<td class="nump">$ 4,063,960<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_EquityMethodInvestmentSale">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 method investment sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_EquityMethodInvestmentSale</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-21D<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Aug. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2019</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method 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>
</tr>
<tr class="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 );">Ownership percentage</a></td>
<td class="nump">19.90%<span></span>
</td>
<td class="nump">30.10%<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>76
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainsLossesOnSalesOfInvestmentRealEstate', window );">Net sales</a></td>
<td class="nump">$ 13,046,436<span></span>
</td>
<td class="nump">$ 16,043,468<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RealizedInvestmentGainsLosses', window );">Gross profit</a></td>
<td class="nump">3,640,973<span></span>
</td>
<td class="nump">4,668,177<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_FSI_RealizedInvestmentGainsLossesNet', window );">Net income</a></td>
<td class="nump">$ 455,241<span></span>
</td>
<td class="nump">$ 1,010,128<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_RealizedInvestmentGainsLossesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_RealizedInvestmentGainsLossesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnSalesOfInvestmentRealEstate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 gain (loss) resulting from sales and other disposals of real estate owned for investment purposes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(14)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477875/944-360-45-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477875/944-360-45-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478586/944-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnSalesOfInvestmentRealEstate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RealizedInvestmentGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RealizedInvestmentGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>77
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Aug. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jan. 01, 2025</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfLandHeldForUse', window );">Unrelated party for consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Equity method investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,424,381<span></span>
</td>
<td class="nump">6,033,960<span></span>
</td>
<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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method 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>
</tr>
<tr class="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 );">Equity method investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,454,381<span></span>
</td>
<td class="nump">4,063,960<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,758,895<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,235,394<span></span>
</td>
<td class="nump">10,260,870<span></span>
</td>
<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_AccountsReceivableNet', window );">Accounts receivable related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,866,645<span></span>
</td>
<td class="nump">$ 2,073,813<span></span>
</td>
<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=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method 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>
</tr>
<tr class="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 );">Ownership percentage</a></td>
<td class="nump">30.10%<span></span>
</td>
<td class="nump">19.90%<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="nump">50.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_ProceedsFromSaleOfLandHeldForUse', window );">Unrelated party for consideration</a></td>
<td class="nump">$ 2,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>
</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_FSI_EquityMethodInvestmentRemainingPercentage', window );">Ownership remaining percentage</a></td>
<td class="nump">19.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_EquityMethodInvestments', window );">Equity method investments</a></td>
<td class="nump">$ 4,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>
</tr>
<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=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member] | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method 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>
</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_FSI_EquityMethodInvestmentRemainingPercentage', window );">Ownership remaining percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.98%<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_EquityMethodInvestments', window );">Equity method investments</a></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">$ 800,000<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_FSI_EquityMethodInvestmentRemainingPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 method investment remaining 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;">FSI_EquityMethodInvestmentRemainingPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromSaleOfLandHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 land held for use; excludes sales of land held as inventory or investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfLandHeldForUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>78
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LINE OF CREDIT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Aug. 31, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,052,159<span></span>
</td>
<td class="nump">$ 1,810,479<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | Noncontrolling Interest [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.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_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,575,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | New Agreement [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Aggregate amount of revolving line of credit</a></td>
<td class="nump">$ 2,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>
</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_FSI_EligiblePercentageOfDomesticAccountsReceivable', window );">Eligible percentage of domestic accounts receivable</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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt face amount</a></td>
<td class="nump">$ 1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_FSI_PercentageOfInterestOnUnpaidPrincipalBalance', window );">Interest rate on unpaid principal balance</a></td>
<td class="nump">4.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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_PercentageOfForeignAccountsReceivableOfInventory', window );">Percentage of foreign accounts receivable of inventory</a></td>
<td class="nump">50.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_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | New Agreement [Member] | NanoChem Solutions Inc [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | ENP Investments, LLC [Member] | New Agreement [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Aggregate amount of revolving line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500,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_FSI_PercentageOfDomesticAccountsReceivableOfInventory', window );">Percentage of domestic accounts receivable of inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000,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_FSI_PercentageOfInterestOnUnpaidPrincipalBalance', window );">Interest rate on unpaid principal balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.50%<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,052,159<span></span>
</td>
<td class="nump">$ 1,810,479<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | ENP Investments, LLC [Member] | New Agreement [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_FSI_EligiblePercentageOfDomesticAccountsReceivable', window );">Eligible percentage of domestic accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.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_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | ENP Investments, LLC [Member] | New Agreement [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_FSI_EligiblePercentageOfDomesticAccountsReceivable', window );">Eligible percentage of domestic accounts receivable</a></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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | New Agreement [Member] | NanoChem Solutions Inc [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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,925,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_EligiblePercentageOfDomesticAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Eligible percentage of domestic accounts 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;">FSI_EligiblePercentageOfDomesticAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LoanGuaranteedRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Loan guaranteed rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LoanGuaranteedRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PercentageOfDomesticAccountsReceivableOfInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Accounts Receivable of Inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_PercentageOfDomesticAccountsReceivableOfInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PercentageOfForeignAccountsReceivableOfInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign accounts receivable of inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_PercentageOfForeignAccountsReceivableOfInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PercentageOfInterestOnUnpaidPrincipalBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest on unpaid principal balance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_PercentageOfInterestOnUnpaidPrincipalBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LineOfCreditFacilityAxis=FSI_StockBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_NoncontrollingInterestsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_NoncontrollingInterestsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=FSI_NewAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TypeOfArrangementAxis=FSI_NewAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ENPInvestmentsLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG TERM DEBT (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 8,759,848<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Less: current portion</a></td>
<td class="text"> <span></span>
</td>
<td class="num">$ (59,520)<span></span>
</td>
</tr>
<tr class="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 non current</a></td>
<td class="nump">6,618,867<span></span>
</td>
<td class="nump">6,833,304<span></span>
</td>
</tr>
<tr class="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=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">8,759,848<span></span>
</td>
<td class="nump">8,114,936<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Less: current portion</a></td>
<td class="num">(2,140,981)<span></span>
</td>
<td class="num">(1,281,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_LongTermDebtNoncurrent', window );">Long-term debt non current</a></td>
<td class="nump">6,618,867<span></span>
</td>
<td class="nump">6,833,304<span></span>
</td>
</tr>
<tr class="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=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [Member] | Term Loan [Member] | ENP Mendota, LLC [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">387,577<span></span>
</td>
<td class="nump">399,269<span></span>
</td>
</tr>
<tr class="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=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [Member] | Term Loan [Member] | Nano Chem [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">345,036<span></span>
</td>
<td class="nump">1,004,748<span></span>
</td>
</tr>
<tr class="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=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [Member] | Term Loan [Member] | ENP Peru One [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">2,658,381<span></span>
</td>
<td class="nump">2,737,232<span></span>
</td>
</tr>
<tr class="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=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [Member] | Term Loan [Member] | ENP Peru Two [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">243,957<span></span>
</td>
<td class="nump">250,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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [Member] | Term Loan [Member] | Nano Chem One [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">1,355,285<span></span>
</td>
<td class="nump">1,475,188<span></span>
</td>
</tr>
<tr class="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=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [Member] | Term Loan [Member] | 317 Mendota LLC [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">2,223,667<span></span>
</td>
<td class="nump">2,248,292<span></span>
</td>
</tr>
<tr class="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=FSI_StockYardsBankAndTrustMember', window );">Stock Yards Bank And Trust [Member] | Term Loan [Member] | Nano Chem Two [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 1,545,945<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_LongTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LongTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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, after deduction of 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankAndTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_StockYardsBankAndTrustMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=FSI_TermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_ENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPMendotaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_ENPPeruOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_ENPPeruTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_NanoChemOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_MendotaLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_NanoChemTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_RepaymentsOfLongTermDebt', window );">Repayment of debt</a></td>
<td class="nump">$ 1,517,500<span></span>
</td>
<td class="nump">$ 725,823<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | ENP Mendota, LLC [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtPercentageBearingFixedInterestRate', window );">Interest rate</a></td>
<td class="nump">4.35%<span></span>
</td>
<td class="nump">4.35%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTerm', window );">Long term debt, term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt interest rate</a></td>
<td class="nump">4.50%<span></span>
</td>
<td class="nump">4.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Nano Chem [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt interest rate</a></td>
<td class="nump">4.90%<span></span>
</td>
<td class="nump">4.90%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | ENP Peru One [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt interest rate</a></td>
<td class="nump">4.35%<span></span>
</td>
<td class="nump">4.35%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | ENP Peru Investments [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt interest rate</a></td>
<td class="nump">5.40%<span></span>
</td>
<td class="nump">5.40%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Nano Chem One [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt interest rate</a></td>
<td class="nump">6.50%<span></span>
</td>
<td class="nump">6.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | 317 Mendota LLC [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt interest rate</a></td>
<td class="nump">6.79%<span></span>
</td>
<td class="nump">6.79%<span></span>
</td>
</tr>
<tr class="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 );">Repayment of debt</a></td>
<td class="nump">$ 2,024,710<span></span>
</td>
<td class="nump">$ 2,024,710<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember', window );">Term Loan [Member] | Nano Chem Two [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_FSI_LongTermDebtLineItems', window );"><strong>LongTermDebtLineItems [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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 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_DebtInstrumentInterestRateStatedPercentage', window );">Debt interest rate</a></td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_LongTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_LongTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of time between issuance and maturity of debt instrument, 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;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtPercentageBearingFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The interest rate applicable to the portion of the carrying amount of long-term borrowings outstanding as of the balance sheet date, including current maturities, which accrues interest at a set, unchanging rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtPercentageBearingFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 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_LongTermDebtTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 between issuance and maturity of long-term debt, 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/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTerm</td>
</tr>
<tr>
<td style="padding-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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=FSI_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=FSI_TermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_ENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPMendotaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_ENPPeruOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_NanoChemOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_MendotaLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_dei_LegalEntityAxis=FSI_NanoChemTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>81
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAbstract', window );"><strong>Long-Term Debt, Unclassified [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2025</a></td>
<td class="nump">$ 2,140,981<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2026</a></td>
<td class="nump">467,149<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2027</a></td>
<td class="nump">498,454<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2028</a></td>
<td class="nump">2,530,128<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive', window );">Thereafter</a></td>
<td class="nump">3,123,136<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total</a></td>
<td class="nump">$ 8,759,848<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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Current tax, federal</a></td>
<td class="nump">$ 763,471<span></span>
</td>
<td class="nump">$ 753,683<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">Current tax, state</a></td>
<td class="nump">345,380<span></span>
</td>
<td class="nump">340,952<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentForeignTaxExpenseBenefit', window );">Current tax, foreign</a></td>
<td class="nump">217,552<span></span>
</td>
<td class="nump">151,236<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_FSI_CurrentTax', window );">Current tax expense</a></td>
<td class="nump">1,326,403<span></span>
</td>
<td class="nump">1,245,871<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_FSI_IncomeTaxRecovery', window );">Income tax benefit</a></td>
<td class="num">(621,959)<span></span>
</td>
<td class="num">(1,127,689)<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_CurrentIncomeTaxExpenseBenefit', window );">Current tax, total expense</a></td>
<td class="nump">704,444<span></span>
</td>
<td class="nump">118,182<span></span>
</td>
</tr>
<tr class="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 );">Deferred income tax, federal</a></td>
<td class="nump">101,053<span></span>
</td>
<td class="num">(172,763)<span></span>
</td>
</tr>
<tr class="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 );">Deferred income tax, state</a></td>
<td class="nump">45,714<span></span>
</td>
<td class="num">(78,154)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit', window );">Deferred income tax, foreign</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax, total expense (benefit)</a></td>
<td class="nump">146,767<span></span>
</td>
<td class="num">(250,917)<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_IncomeTaxExpenseBenefit', window );">Total</a></td>
<td class="nump">$ 851,211<span></span>
</td>
<td class="num">$ (132,735)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_CurrentTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Current tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_CurrentTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_IncomeTaxRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income tax recovery.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_IncomeTaxRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 foreign 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 foreign 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF RECONCILIATION OF 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, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income before income tax - United States</a></td>
<td class="nump">$ 4,472,950<span></span>
</td>
<td class="nump">$ 3,249,901<span></span>
</td>
</tr>
<tr class="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 );">Income before income tax - Canada</a></td>
<td class="nump">479,850<span></span>
</td>
<td class="nump">373,349<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_FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest', window );">Income before income tax</a></td>
<td class="nump">$ 4,952,800<span></span>
</td>
<td class="nump">$ 3,623,250<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">US federal statutory tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.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_FSI_ExpectedIncomeTaxRecovery', window );">Expected income tax expense</a></td>
<td class="nump">$ 1,040,088<span></span>
</td>
<td class="nump">$ 760,883<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State income tax expense, net of federal tax benefit</a></td>
<td class="nump">371,708<span></span>
</td>
<td class="nump">344,208<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpense', window );">Non-deductible items</a></td>
<td class="nump">64,857<span></span>
</td>
<td class="nump">362,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_IncomeTaxReconciliationOtherAdjustments', window );">Change in estimates and other</a></td>
<td class="num">(194,142)<span></span>
</td>
<td class="num">(1,585,427)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="num">(35,952)<span></span>
</td>
<td class="num">(92,379)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(395,348)<span></span>
</td>
<td class="nump">77,426<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income taxes expense (benefit)</a></td>
<td class="nump">$ 851,211<span></span>
</td>
<td class="num">$ (132,735)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ExpectedIncomeTaxRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax recovery.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_ExpectedIncomeTaxRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income before income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.1.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 increase (decrease) 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/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 foreign income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxReconciliationNondeductibleExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 nondeductible expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 state and local income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">$ 190,024<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Deferred tax asset</a></td>
<td class="nump">692,670<span></span>
</td>
<td class="nump">36,093<span></span>
</td>
</tr>
<tr class="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 allowance</a></td>
<td class="num">(192,953)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax asset</a></td>
<td class="nump">499,717<span></span>
</td>
<td class="nump">36,093<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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne', window );">Property, equipment and leaseholds</a></td>
<td class="nump">502,646<span></span>
</td>
<td class="nump">36,093<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets', window );">Intangible assets</a></td>
<td class="num">(516,414)<span></span>
</td>
<td class="num">(11,346)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesInvestments', window );">Investments</a></td>
<td class="num">(105,322)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Deferred tax liability</a></td>
<td class="num">(621,736)<span></span>
</td>
<td class="num">(11,346)<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_FSI_DeferredTaxAssetsLiabilities', window );">Net deferred tax asset (liability)</a></td>
<td class="num">(122,019)<span></span>
</td>
<td class="nump">24,747<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">1,059,468<span></span>
</td>
<td class="nump">855,176<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_FSI_DeferredTaxAssetsShareIssuanceCosts', window );">Share issuance costs</a></td>
<td class="nump">1,024<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DeferredTaxAssetsPropertyPlantsAndEquipment', window );">Property, equipment and leaseholds</a></td>
<td class="nump">27,995<span></span>
</td>
<td class="nump">30,916<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_DeferredTaxAssetsGross', window );">Deferred tax asset</a></td>
<td class="nump">1,088,487<span></span>
</td>
<td class="nump">886,092<span></span>
</td>
</tr>
<tr class="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 allowance</a></td>
<td class="num">(1,088,487)<span></span>
</td>
<td class="num">(886,092)<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 );">Net deferred tax asset</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DeferredTaxAssetsLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net deferred tax asset (liability).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_DeferredTaxAssetsLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets property plants and 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;">FSI_DeferredTaxAssetsPropertyPlantsAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets property plants and 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;">FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_DeferredTaxAssetsShareIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets share issuance 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;">FSI_DeferredTaxAssetsShareIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 including 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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 investments (excludes investments in subsidiaries and 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>85
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">$ 4,606,383<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandThirtyTaxYearMember', window );">2030 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">249,807<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandThirtyOneYearMember', window );">2031 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">865,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_us-gaap_TaxPeriodAxis=FSI_TwoThousandThirtyTwoYearMember', window );">2032 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">566,109<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandThirtySevenYearMember', window );">2037 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">1,555,780<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandThirtyNineYearMember', window );">2039 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">134,471<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandFourtyYearMember', window );">2040 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">396,186<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandFourtyOneYearMember', window );">2041 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">301,063<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandFourtyTwoYearMember', window );">2042 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">315,157<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandFourtyThreeYearMember', window );">2043 [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Total</a></td>
<td class="nump">$ 222,064<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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=FSI_TwoThousandThirtyTaxYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandThirtyTaxYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandThirtyOneYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandThirtyOneYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandThirtyTwoYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandThirtyTwoYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandThirtySevenYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandThirtySevenYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandThirtyNineYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandThirtyNineYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandFourtyYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandFourtyYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandFourtyOneYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandFourtyOneYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandFourtyTwoYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandFourtyTwoYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TaxPeriodAxis=FSI_TwoThousandFourtyThreeYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TaxPeriodAxis=FSI_TwoThousandFourtyThreeYearMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>86
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_FSI_IncomeTaxRecovery', window );">Current income tax expense</a></td>
<td class="nump">$ 621,959<span></span>
</td>
<td class="nump">$ 1,127,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_OperatingLossCarryforwards', window );">Operating loss carryforward</a></td>
<td class="nump">$ 4,606,383<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLimitationsOnUse', window );">Limited utilization</a></td>
<td class="text">The NOLs carry forward indefinitely, with utilization limited to offsetting up to 80% of taxable income in any given year.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease', window );">Unrecognized tax benefits, increased</a></td>
<td class="nump">$ 419,214<span></span>
</td>
<td class="nump">464,185<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits</a></td>
<td class="nump">2,754,007<span></span>
</td>
<td class="nump">2,334,793<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued', window );">Accrued interest and penalties</a></td>
<td class="nump">333,086<span></span>
</td>
<td class="nump">193,551<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Unrecognized accrued interest and penalties</a></td>
<td class="nump">1,237,637<span></span>
</td>
<td class="nump">$ 904,549<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Operating loss carryforward</a></td>
<td class="nump">4,606,383<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_IncomeTaxAuthorityNameAxis=FSI_FederalAndStatedIncomeTaxMember', window );">Federal And Stated Income Tax [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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Operating loss carryforward</a></td>
<td class="nump">$ 623,028<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_FSI_IncomeTaxRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income tax recovery.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_IncomeTaxRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxExaminationPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OperatingLossCarryforwardsLimitationsOnUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 description of the limitations on the use of all operating loss carryforwards available to reduce future taxable income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLimitationsOnUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax 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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=FSI_FederalAndStatedIncomeTaxMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=FSI_FederalAndStatedIncomeTaxMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>87
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF BASIC AND DILUTED LOSS 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, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income attributable to controlling interest</a></td>
<td class="nump">$ 3,038,529<span></span>
</td>
<td class="nump">$ 2,775,864<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">12,454,957<span></span>
</td>
<td class="nump">12,434,886<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">12,680,668<span></span>
</td>
<td class="nump">12,489,467<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income per common share attributable to controlling interest: Basic</a></td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="nump">$ 0.22<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income per common share attributable to controlling interest: Diluted</a></td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="nump">$ 0.22<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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive options</a></td>
<td class="nump">745,000<span></span>
</td>
<td class="nump">740,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INCOME PER SHARE (Details Narrative) - Canada Revenue Agency [Member] - shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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>Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION ACTIVITIES (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of shares, Beginning Balance</a></td>
<td class="nump">1,114,000<span></span>
</td>
<td class="nump">1,686,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Beginning Balance</a></td>
<td class="nump">$ 3.13<span></span>
</td>
<td class="nump">$ 3.26<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of shares, Cancelled or expired</a></td>
<td class="num">(275,000)<span></span>
</td>
<td class="num">(564,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Cancelled or expired</a></td>
<td class="nump">$ 2.54<span></span>
</td>
<td class="nump">$ 3.55<span></span>
</td>
</tr>
<tr class="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 );">Number of shares, Exercised</a></td>
<td class="num">(80,000)<span></span>
</td>
<td class="num">(8,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.70<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Exercised</a></td>
<td class="nump">$ 2.31<span></span>
</td>
<td class="nump">$ 1.70<span></span>
</td>
</tr>
<tr class="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 shares, Granted</a></td>
<td class="nump">1,081,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Granted</a></td>
<td class="nump">$ 2.12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of shares, Ending Balance</a></td>
<td class="nump">1,840,000<span></span>
</td>
<td class="nump">1,114,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Ending Balance</a></td>
<td class="nump">$ 2.68<span></span>
</td>
<td class="nump">$ 3.13<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of shares Exercisable, Ending Balance</a></td>
<td class="nump">939,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, Exercisable, Ending Balance</a></td>
<td class="nump">$ 2.71<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="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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">1.75<span></span>
</td>
<td class="nump">1.70<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled or expired</a></td>
<td class="nump">1.75<span></span>
</td>
<td class="nump">3.46<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="nump">1.75<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice', window );">Exercise price per share, Granted</a></td>
<td class="nump">2.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">2.00<span></span>
</td>
<td class="nump">1.75<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</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_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_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">3.61<span></span>
</td>
<td class="nump">4.13<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled or expired</a></td>
<td class="nump">3.61<span></span>
</td>
<td class="nump">4.13<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="nump">2.44<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice', window );">Exercise price per share, Granted</a></td>
<td class="nump">4.05<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">4.05<span></span>
</td>
<td class="nump">$ 3.61<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</a></td>
<td class="nump">$ 3.61<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cancelled or expired, Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercised, Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share, Granted.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">$ 673,130<span></span>
</td>
<td class="nump">$ 395,080<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=FSI_WagesAndAdministrativeSalariesMember', window );">Wages And Administrative Salaries [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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Stock based compensation</a></td>
<td class="nump">623,000<span></span>
</td>
<td class="nump">331,609<span></span>
</td>
</tr>
<tr class="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=FSI_ConsultingMember', window );">Consulting [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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">$ 50,130<span></span>
</td>
<td class="nump">$ 63,471<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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=FSI_WagesAndAdministrativeSalariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_WagesAndAdministrativeSalariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_ConsultingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ConsultingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>92
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2024 </div>
<div>$ / shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life - years</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Interest rate</a></td>
<td class="nump">1.76%<span></span>
</td>
</tr>
<tr class="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 );">Volatility</a></td>
<td class="nump">66.01%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted</a></td>
<td class="nump">$ 1.46<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Interest rate</a></td>
<td class="nump">4.11%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Volatility</a></td>
<td class="nump">71.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted</a></td>
<td class="nump">$ 2.02<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Options granted percentage</a></td>
<td class="nump">100.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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested term</a></td>
<td class="text">5 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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Options maximum granted term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-average remaining contractual life, outstanding</a></td>
<td class="text">3 years 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted-average remaining contractual life, exercisable</a></td>
<td class="text">3 years 1 month 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Stock vested compensation non vested</a></td>
<td class="nump">$ 603,850<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted average period expected to be recognized</a></td>
<td class="text">1 year 10 months 24 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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate intrinsic value of vested options, outstanding</a></td>
<td class="nump">$ 1,709,850<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue', window );">Aggregate intrinsic value of vested options, exercisable</a></td>
<td class="nump">843,790<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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Aggregate intrinsic value of vested options exercised</a></td>
<td class="nump">$ 88,730<span></span>
</td>
<td class="nump">$ 11,520<span></span>
</td>
</tr>
<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_TitleOfIndividualAxis=FSI_ConsultantsMember', window );">Consultants [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of stock options to employees</a></td>
<td class="nump">102,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<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_TitleOfIndividualAxis=FSI_EmployeesMember', window );">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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of stock options to employees</a></td>
<td class="nump">979,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net 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/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from grant date that an equity-based award expires, 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://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vested portions of options outstanding and currently exercisable or convertible, 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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_ConsultantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ConsultantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_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=FSI_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">80,000<span></span>
</td>
<td class="nump">8,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_DividendsPayableAmountPerShare', window );">Dividends per share</a></td>
<td class="nump">$ 0.10<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends</a></td>
<td class="nump">$ 1,255,053<span></span>
</td>
<td class="nump">$ 626,777<span></span>
</td>
</tr>
<tr class="re">
<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 );">Consultant for services, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,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_StockIssuedDuringPeriodValueIssuedForServices', window );">Consultant for services, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,070<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">47,000<span></span>
</td>
<td class="nump">8,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_AwardTypeAxis=FSI_ConsultantStockOptionMember', window );">Consultant Stock Option [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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">33,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477787/942-405-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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;">us-gaap_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=FSI_ConsultantStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ConsultantStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF DISTRIBUTIONS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Non-controlling interests, Beginning balance</a></td>
<td class="nump">$ 3,065,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution</a></td>
<td class="num">(794,722)<span></span>
</td>
<td class="num">$ (719,439)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Non-controlling interest share of income</a></td>
<td class="nump">1,063,060<span></span>
</td>
<td class="nump">980,121<span></span>
</td>
</tr>
<tr class="re">
<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, Ending balance</a></td>
<td class="nump">3,334,054<span></span>
</td>
<td class="nump">3,065,716<span></span>
</td>
</tr>
<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=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [Member] | Ownership Interest Purchase Agreement [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Non-controlling interests, Beginning balance</a></td>
<td class="nump">2,901,199<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution</a></td>
<td class="num">(794,722)<span></span>
</td>
<td class="num">(719,439)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Non-controlling interest share of income</a></td>
<td class="nump">1,164,037<span></span>
</td>
<td class="nump">1,015,604<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests, Ending balance</a></td>
<td class="nump">$ 3,270,514<span></span>
</td>
<td class="nump">$ 2,901,199<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ENPInvestmentsLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Non-controlling interests, Beginning balance</a></td>
<td class="nump">$ 3,065,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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, Ending balance</a></td>
<td class="nump">3,334,054<span></span>
</td>
<td class="nump">$ 3,065,716<span></span>
</td>
</tr>
<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=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member] | Ownership Interest Purchase Agreement [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Non-controlling interests, Beginning balance</a></td>
<td class="nump">164,517<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_PaymentsToAcquireBusinessesAndInterestInAffiliates', window );">Non-controlling interests, Acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,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_NoncontrollingInterestDecreaseFromDeconsolidation', window );">Non-controlling interest share of loss</a></td>
<td class="num">(100,977)<span></span>
</td>
<td class="num">(35,483)<span></span>
</td>
</tr>
<tr class="re">
<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, Ending balance</a></td>
<td class="nump">$ 63,540<span></span>
</td>
<td class="nump">$ 164,517<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_NoncontrollingInterestDecreaseFromDeconsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 the reduction or elimination during the period of a noncontrolling interest resulting from the parent's loss of control and deconsolidation of the entity in which one or more outside parties had a 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> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireBusinessesAndInterestInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_MendotaLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_PaymentsToMinorityShareholders', window );">Partnership distribution to non-controlling interest</a></td>
<td class="nump">$ 794,722<span></span>
</td>
<td class="nump">$ 719,439<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 11,696,098<span></span>
</td>
<td class="nump">9,843,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_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">65.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">35.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_PaymentsToMinorityShareholders', window );">Partnership distribution to non-controlling interest</a></td>
<td class="nump">$ 4,020,679<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Sales</a></td>
<td class="nump">8,050,462<span></span>
</td>
<td class="nump">6,811,083<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 5,377,088<span></span>
</td>
<td class="nump">$ 4,225,028<span></span>
</td>
</tr>
<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=FSI_MendotaLLCMember', window );">317 Mendota LLC [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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">80.00%<span></span>
</td>
<td class="nump">80.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_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">20.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_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="padding-right: 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_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ENPInvestmentsLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_MendotaLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REPORTABLE SEGMENTS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 38,234,860<span></span>
</td>
<td class="nump">$ 38,324,806<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24,994,961<span></span>
</td>
<td class="nump">27,881,721<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,239,899<span></span>
</td>
<td class="nump">10,443,085<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherGeneralExpense', window );">Office &amp; Miscellaneous</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">805,307<span></span>
</td>
<td class="nump">512,896<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Net operating income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5,515,406<span></span>
</td>
<td class="nump">3,503,042<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation (included in COGS)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,957,476<span></span>
</td>
<td class="nump">1,686,319<span></span>
</td>
</tr>
<tr class="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 );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(4,964,736)<span></span>
</td>
<td class="num">(4,990,675)<span></span>
</td>
</tr>
<tr class="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 );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">59,968,579<span></span>
</td>
<td class="nump">55,471,055<span></span>
</td>
</tr>
<tr class="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=FSI_SegmentMember', window );">Segment [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">38,234,860<span></span>
</td>
<td class="nump">38,324,806<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24,994,961<span></span>
</td>
<td class="nump">27,881,721<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">13,239,899<span></span>
</td>
<td class="nump">10,443,085<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SalariesWagesAndOfficersCompensation', window );">Wages and administrative salaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,743,225<span></span>
</td>
<td class="nump">3,864,661<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherGeneralExpense', window );">Office &amp; Miscellaneous</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">805,307<span></span>
</td>
<td class="nump">512,896<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingOtherItemAmount', window );">Other segment items</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,175,961<span></span>
</td>
<td class="nump">2,565,972<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Net operating income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5,515,406<span></span>
</td>
<td class="nump">3,503,042<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseOperating', window );">Interest expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">610,265<span></span>
</td>
<td class="nump">498,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_DepreciationAndAmortization', window );">Depreciation (included in COGS)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,957,476<span></span>
</td>
<td class="nump">1,686,319<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,964,736<span></span>
</td>
<td class="nump">4,990,675<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">59,968,579<span></span>
</td>
<td class="nump">55,471,055<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=FSI_EWCPMember', window );">EWCP [Member] | Segment [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">759,549<span></span>
</td>
<td class="nump">572,845<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">350,345<span></span>
</td>
<td class="nump">359,429<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">409,204<span></span>
</td>
<td class="nump">213,416<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SalariesWagesAndOfficersCompensation', window );">Wages and administrative salaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">90,043<span></span>
</td>
<td class="nump">92,302<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherGeneralExpense', window );">Office &amp; Miscellaneous</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">45,327<span></span>
</td>
<td class="nump">46,968<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingOtherItemAmount', window );">Other segment items</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">57,056<span></span>
</td>
<td class="nump">79,809<span></span>
</td>
</tr>
<tr class="re">
<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 );">Net operating income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">216,778<span></span>
</td>
<td class="num">(5,663)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseOperating', window );">Interest expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">309<span></span>
</td>
<td class="nump">387<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation (included in COGS)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">15,298<span></span>
</td>
<td class="nump">17,411<span></span>
</td>
</tr>
<tr class="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 );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_Assets', window );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">2,588,731<span></span>
</td>
<td class="nump">3,889,596<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=FSI_BCPAMember', window );">BCPA [Member] | Segment [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">37,475,311<span></span>
</td>
<td class="nump">37,751,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_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">24,644,616<span></span>
</td>
<td class="nump">27,522,292<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">12,830,695<span></span>
</td>
<td class="nump">10,229,669<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SalariesWagesAndOfficersCompensation', window );">Wages and administrative salaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3,653,182<span></span>
</td>
<td class="nump">3,772,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_OtherGeneralExpense', window );">Office &amp; Miscellaneous</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">759,410<span></span>
</td>
<td class="nump">465,535<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingOtherItemAmount', window );">Other segment items</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">2,699,196<span></span>
</td>
<td class="nump">2,109,582<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Net operating income</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">5,718,907<span></span>
</td>
<td class="nump">3,885,680<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseOperating', window );">Interest expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">609,956<span></span>
</td>
<td class="nump">498,279<span></span>
</td>
</tr>
<tr class="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 (included in COGS)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,942,178<span></span>
</td>
<td class="nump">1,668,908<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,964,736<span></span>
</td>
<td class="nump">4,990,675<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">56,415,104<span></span>
</td>
<td class="nump">50,627,932<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=FSI_OtherMember', window );">Other [Member] | Segment [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></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_GrossProfit', window );">Gross profit</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SalariesWagesAndOfficersCompensation', window );">Wages and administrative salaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></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_OtherGeneralExpense', window );">Office &amp; Miscellaneous</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">570<span></span>
</td>
<td class="nump">393<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingOtherItemAmount', window );">Other segment items</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1],[3]</sup></td>
<td class="nump">419,709<span></span>
</td>
<td class="nump">376,581<span></span>
</td>
</tr>
<tr class="re">
<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 );">Net operating income</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="num">(420,279)<span></span>
</td>
<td class="num">(376,975)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseOperating', window );">Interest expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></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_DepreciationAndAmortization', window );">Depreciation (included in COGS)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></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_Assets', window );">Assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2],[3]</sup></td>
<td class="nump">$ 964,744<span></span>
</td>
<td class="nump">$ 953,527<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Other segment items
for each reportable segment includes insurance,  consulting, research, and professional fees.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Segment
                                                                                                                                                                                                     assets include cash, term deposits, accounts receivable, inventory, prepaid expenses, property, equipment and leaseholds, right of
                                                                                                                                                                                                     use assets, security deposits, intangible assets, and goodwill.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">Other is not considered
an operating segment and includes expenses and income not identifiable to an operating segment and is not included in operating segment
results</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseOperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense classified as operating.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseOperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherGeneralExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of general expenses not normally included in Other Operating Costs and Expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherGeneralExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalariesWagesAndOfficersCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 salary and wage arising from service rendered by nonofficer and officer employees. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalariesWagesAndOfficersCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SegmentReportingOtherItemAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other expense (income) and loss (gain) calculated as difference between segment revenue and separately disclosed expense category to arrive at segment profit (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingOtherItemAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementBusinessSegmentsAxis=FSI_SegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_SegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=FSI_EWCPMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=FSI_EWCPMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=FSI_BCPAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=FSI_BCPAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=FSI_OtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=FSI_OtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">$ 38,234,860<span></span>
</td>
<td class="nump">$ 38,324,806<span></span>
</td>
</tr>
<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_CA', window );">CANADA</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">400,693<span></span>
</td>
<td class="nump">755,844<span></span>
</td>
</tr>
<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=FSI_UnitedStatesandAbroadMember', window );">United States and Abroad [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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">$ 37,834,167<span></span>
</td>
<td class="nump">$ 37,568,962<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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;">srt_StatementGeographicalAxis=country_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_srt_StatementGeographicalAxis=FSI_UnitedStatesandAbroadMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_UnitedStatesandAbroadMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>100
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 21,800,459<span></span>
</td>
<td class="nump">$ 18,101,355<span></span>
</td>
</tr>
<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_CA', window );">CANADA</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_NoncurrentAssets', window );">Total</a></td>
<td class="nump">116,496<span></span>
</td>
<td class="nump">142,577<span></span>
</td>
</tr>
<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</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 21,683,963<span></span>
</td>
<td class="nump">$ 17,958,778<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_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and 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/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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;">srt_StatementGeographicalAxis=country_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_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>101
<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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTS AND (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>Segments</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [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_NumberOfOperatingSegments', window );">Number of operating segments | Segments</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Three Customers [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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major Customer [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_AccountsReceivableNet', window );">Accounts receivable, after allowance for credit loss | $</a></td>
<td class="nump">$ 20,779,311<span></span>
</td>
<td class="nump">$ 20,482,798<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivablePercentPastDue1', window );">Sale percentage</a></td>
<td class="nump">54.00%<span></span>
</td>
<td class="nump">53.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablePercentPastDue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financing receivable balance that is 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;">us-gaap_FinancingReceivablePercentPastDue1</td>
</tr>
<tr>
<td style="padding-right: 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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning 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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=FSI_ThreeCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=FSI_ThreeCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of employee stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,000<span></span>
</td>
<td class="nump">8,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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_StockIssuedDuringPeriodSharesNewIssues', window );">Stock option issued upon exercise</a></td>
<td class="nump">67,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of employee stock options</a></td>
<td class="nump">65,000<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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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>EXCEL
<SEQUENCE>103
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( !* ?UI&QTU(E0   ,T    0    9&]C4')O<',O87!P+GAM
M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ)
M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$,
M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2<?J]P<"A#G>B4^BQ-+.9<K!?^+
M4\L54Y[FRF_\9 6_![H74$L#!!0    ( !* ?UK$%>SS\@   "L"   1
M9&]C4')O<',O8V]R92YX;6S-DL].PS ,AU\%Y=XZ;?DC15TN3#N!A,0D$+<H
M\;:(IHD2HW9O3UJV#@0/P#'V+Y\_2VYU$-I'?(H^8"2+Z6IT79^$#BMV( H"
M(.D#.I7*G.AS<^>C4Y2?<0]!Z7>U1Z@YOP6'I(PB!1.P" N1R=9HH2,J\O&$
M-WK!AX_8S3"C 3MTV%."JJR R6EB.(Y="Q? !".,+GT5T"S$N?HG=NX .R7'
M9)?4, SET,RYO$,%KX\/S_.ZA>T3J5YC_I6LH&/ %3M/?FGNU]L-DS6O;PK>
M%$VUK;G@7#37;Y/K#[^+L//&[NP_,[[[9GP6E"W\N@OY"5!+ P04    "  2
M@']:F5R<(Q &  "<)P  $P   'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4
M?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.'X416(UL>621A'^_1S80RY8-[9)-
MNIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X8-DOV]:[MR_>X%<R)!%!,!FGK_#
M"J5,7K5::0##.'W)$Q+#W(*+"$MX%,O67.!;&B\CUNJTV]U6A&ELH1A'9&!]
M7BQH0-!445IO7R"TY1\S^!7+5(UEHP$35T$FN8BT\OELQ?S:WCYES^DZ'3*!
M;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'T=)(@(+)?90%NDGVH],5"#(-.SJ=
M6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+<!P$X%&[GL*=]&R_I$$)M*-IT&38
M]MJND::JC5-/T_=]W^N;:)P*C5M/TVMWW=..B<:MT'@-OO%/A\.NB<:KT'3K
M:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8<';6S-(#EEXI^G64&MD=N]U!7/!8
M[CF)$?[&Q036:=(9EC1&<IV0!0X -\313%!\KT&VBN#"DM)<D-;/*;50&@B:
MR('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_::L!I^V[F\^3_'/HY)^GD]=-0LYP
MO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR
M([O=]EA]]D]';B/7J<"S(M>41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQ
MEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1
M]E6\W*.76!4!EQC?-*HU+,76>)7 \:V</!T3$LV4"P9!AI<D)A*I.7Y-2!/^
M*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S&L%&KQMUAVC2/'K^!?F<-0H<D1L=
M F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV&G*U%H&V<:F$8%H2QM%X3M*T$?Q9
MK#63/F#([,V1=<[6D0X1DEXW0CYBSHN0$;\>ACA*FNVB<5@$_9Y>PTG!Z(++
M9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'HYI9";V$5FJ?JH<T/J@>,@H%\;D>
M/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO>
M1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@YG\#L_6@^GO'M^MDDA*^:62TC%I!+
M@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2GD(;;NE3]4J5U^6ON2BX/%ODZ:^A
M=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9=
M=N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8
MT='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7
M\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I
M=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*POFH]M!5.S_Y9K<B?#!%.%@L22&.4
M%Z9*HO,94[[G*TG$53B_13.V$I<8O./FQW%.4[@2=K8/ C*YNSFI>F4Q9Z;R
MWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z
M;I,[2$R<><41 71% B.5' 86%S+D4.Z2D 83 <V4R43P H)DIAR F/H+O?(,
MN2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7<N/O[Y-J=XS7^BR!;814,F35%\I#
MB<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@2\-Z;ITM)__;7M0]M!<]1O.CF> >
MLX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[
MM'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ
M#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1.
M"CS<_N\-L,+$CN'MB[\!4$L#!!0    ( !* ?UJ[/4\](PH  #M%   8
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&ULM9QO<YNX%L;?^U-HO#L[[8P3&W#^
MN$TRXV"RZ[MIFHG==GL[]X6"Y9@)(*\ )_GV]TA@$U(AS,QI7S0&<WX6ST$2
MCR0X>^+B,5DQEI+G*(R3\^XJ3=<?^OW$7[&()H=\S6+X9LE%1%/8% _]9"T8
M7:B@*.S;@\%Q/Z)!W+TX4_MNQ<49S](PB-FM($D6152\7+*0/YUWK>YVQUWP
ML$KECO[%V9H^L!E+OZQO!6SU=Y1%$+$X"7A,!%N>=\?6!V_HR !UQ-> /26O
M/A-Y*O></\J-Z>*\.Y E8B'S4XF@\&?#7!:&D@3E^+> =G>_*0-??][2K]3)
MP\G<TX2Y//P6+-+5>?>T2Q9L2;,PO>-/?['BA(XDS^=AHOXG3_FQ1TZ7^%F2
M\J@(AA)$09S_I<^%$*\"3@<U 7818+\)L$YK IPBP'D;,*P)&!8!PWT#CHH
M=>K]_-R5<!.:THLSP9^(D$<#37Y0ZJMHT"N(Y84R2P5\&T!<>N'R#1/D@'R9
M3<B[W]^?]5. RJ_Z?@&XS %V#<"RR2<>IZN$>/&"+:J /I1F5R1[6Z1+VTB<
M,/^0.%:/V -[J"F0NW^XHPF?F,,_40'A Q5^I GWS.'_R>)=^- @AK/+CZ-X
MCC$_/\;W22J@4OU/EZ"<,-039$OS(5E3GYUWH2E)F-BP[L4?OUG'@X\Z<3%A
M$TR8AP2KI&&X2\/01+^8<#^#YC$E\Y<UT^7 '&X-#O[6B6V,:BLV)LQ#@E7$
M/MJ)?614:PQ*+Y3:5R%]T*EMCE_2,-$ER36&M94;$^8AP2IR'^_D/M[OVA['
M<49#<L?67*0ZV<V<5&1:U8U1;57'A'E(L(KJ)SO53_9L402%VRYUUU2OO)E5
M>\$;P]I*CPGSD& 5Z4]WTI_N)_TM$P%?R!L7 C=/VG:]@;2]UZB]5S'&M\T
M)LQ#@E4R,-IE8+1?!JZ"Q(<FITC$%>Q.=%DPTZZ^ZY0WQK15'A/F(<$JREN#
M\H9_T$K[[XR*>N4;8'67O3FLK?JH- ^+5M7_E>&RC)*YF1!OY3>U0 VX@P/+
M/G L;1*,D:V3@$GSL&C5)-AE$FRC:EZ<!ND+Y"!DY":+[IG02F^&# 86*'\T
M'&C%-\:V%A^3YF'1JN*7EM8R6K6M^'?L(9"N%NK"#8WTU[X9='7M_3.]O/8Z
ML\_77^;3SS<S,KV9>W<W8[DQON[!IGNHS0ZJS46E>5BT:G9*IVN9O6J1'1?:
M* 'MTS1>L&?R-WO1YL>,&D -&1R/G)&^CT!UOZ@T#XM6S4%I@"VS@RUR,*?/
M9+J 1 3+P*?*(A@:*S/RQ#JPCIW!Z>E(FPM4:XQ*\[!HU5R4[M@RV]HB%]/8
MYP+LF4I#C\Q2Z*X)%\3E&504J"]\H6_"S/2QOO- ]<RH- ^+5DU':9LML]<M
MTC%>+(">]+8?R#4<1S['^AR8D<?03'4(_#L:DO&&Z3L,5"N-2O.P:-6,E&[:
M,IO@MQEQY1;4C#E_BK79,./F5-_ N>:XUBE -=-8M&H*2CMMF1WPVQ3L6J=;
MP3=![.MKA9DYOM0F =56H](\+%IUUJHTUK;9"_]4#_*>02=] \D=:Z>]4#TU
M*LW#HE6E+SVU;3;!;Z6_Y4D*]Z[_#=:U_7(#<6[]J;H$ZQ_]%"2JM4:E>5BT
M:BY*:VV;7;%J_L>"T7KIS8!WPX&CFXAVS7&M14>UU%BTJNBEI;;-3OB:JV'4
M%8]-XQD-$-MV#NS12#?K[9I#6VN/:IBQ:%7M2\-LFUWN/$A#Z&R7Q++?W;\G
M,^9G NJ -@%FDLNCB,>JW9FEW'_LD=\'AW!S2M94D T-]?-K9FCKU*#Z:"Q:
M-36EC[;-IG<NZ"*('\CL);KGH38C9L#5;*J5'-4NH](\+%I5\M(NVV9#N[W\
MB??LKVC\P&H']QI -]]GWOB3=Z?5']4?H](\+%I5_](?VWOYXV\L# \>8[!@
MT"#1!/J%!9DF25;3,9B9-UR;!%1+C$KSL&C5))26V-[+$G_E(5@ *O*)!J&=
M8&L@U4B/:H51:1X6K2I]:87MO:SP=I8M7U*A^@#PQ/HYS@;B=Z:+<LU1K7.
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
M.U7T4."@:/>H3-@2_96J+1.:<-@@U!M-\5"IINPU'2/+NG*LI<$Z5#=S_%(
M90-P?B.E.71L,>J^/9)_4$L#!!0    ( !* ?UJQW3 ^<@@  -4E   8
M>&PO=V]R:W-H965T<R]S:&5E=#0N>&ULK9IM;]LX$L>_BN ]%%G@4HL/HJ0T
M,9"Z=WL%=MNB::\O#O="MFE;6$GT2732WJ>_H>28MCADTD/ZHO'#D/H/.9K?
M#*WK!]7^V6VEU-'WNFJZF\E6Z]W5=-HMM[(NNM=J)QOX9JW:NM#PMMU,NUTK
MBU4_J*ZF-([%M"[*9C*[[C_[U,ZNU5Y792,_M5&WK^NB_?%65NKA9D(FCQ]\
M+C=;;3Z8SJYWQ4;>2?UU]ZF%=]/C+*NREDU7JB9JY?IF<DNNYCPW WJ+?Y;R
MH3MY'1E7%DK]:=Z\7]U,8J-(5G*IS10%_+F7<UE59B;0\9_#I)/C-<W T]>/
ML_^]=QZ<612=G*OJ6[G2VYM)-HE6<EWL*_U9/?Q#'AQ*S'Q+577]_]'#8"OR
M2;3<=UK5A\&@H"Z;X6_Q_; 0)P.(\ R@AP%T/(![!K## -8[.BCKW7I7Z&)V
MW:J'J#76,)MYT:]-/QJ\*1NSC7>ZA6]+&*=G<]5TJBI7A9:KZ$[#']@CW45J
M';UOEJJ64=&LHKFJ(4BV9O?NY>,7E]'7NW?1Q5]^O9YJ4&+FFRX/5WT[7)5Z
MKDIH](=J]+:+_M:LY.I\@BFX</2#/OKQE@9G?">7KR-&_AK1F')$T/SYPUE
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
MGM+4N!E>]_J:-\",%E5B#BZC3PF(:H8WJ(:+3JWZEY">5->I9?]U(?)2--H
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
MPB3H\PWG:A^8"WI/3GX!4$L#!!0    ( !* ?UK>17L23 (  )(&   8
M>&PO=V]R:W-H965T<R]S:&5E=#@N>&ULG95=;YLP%$#_BL6D/;7A(R29,D!*
MVDW+0Z<HS;:':0\&+F#5V,PV3?OO9QO"LBFA4E[ -O<>GVO$)3IP\20K (5>
M:LID[%1*-4O7E5D%-983W@#33PHN:JST5)2N; 3@W";5U T\;^[6F# GB>S:
M5B01;Q4E#+8"R;:NL7A= ^6'V/&=X\*.E)4R"VX2-;B$1U#?FJW0,W>@Y*0&
M)@EG2$ 1.RM_N5Z8>!OPG<!!GHR1J23E_,E,-GGL>$8(*&3*$+"^/<,=4&I
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
M^8'UKK.L[JNNJ%;Z<UT666%:_5_7B[9K0$3^>PIC7N]B>CU4FY?M-LW,KT]
M+UK3W)LGK__VE_FSTU</0'OAH+UX:/5_AT$/+C@-[ME,/;*1_KJ&AU565RT0
M+4\[D^ME4:555J2E;COX G2U:_4ZO3=Z84RE8?EMVL!SJ'UZ78 P-T4&3V=U
MVZ$N%6VBS<_,;#N]6YO&Z+J#_^V*UNBJA@T27:#>9G63PSX&5*-;TV=FG]HV
M!6R_+8&!*U.9)BW+/?X."\*N\"XLI[]5!7ZZ0PA;G6ZWP/)T41K=U0#5JD8Y
M *PRT\!>58Z6!DT&O;NU\B'F+ ?$P(S-]%%ZK&[2=DUOT!_O?O3%?5H2"8!4
MZJ;>;--JCTNW16X:V+HL@0BK-<!8%O T0GAOVH[)MNV;; WF)1<L*PW$6@&!
M2_@#@$(#BZ""(>J;HMOK>JD!\1;@3!'1QAB]8<5+&7CDD8*G[,J(\,+H#*$U
M'MJ9=H@,?]+ /8T;=RDA3Y"UYAXI'3"_J-JNZ'JTLK#:=8N@@=*:S<(TJ+@*
M%9<V@#_.$P+.DB<',@"O66J(7B/PCA;'ZJMI-K#FMFZ+ 7T!,[VL^T9W^$AN
M'P&J=$/P%\B-S<8T"'4+ EA]A^5A,<"E 8D,5] %+MOHO^KST_/DQ>6%/M=7
M%V?)\_,+?39[=JGGEZ=ZGIR>/T^NSN;P%7]S/K],+DZOX.&C[%C= G\K%'H4
M/!04E'L@SEV*(CO$0GB8_@';9F7:MH8H6<@B^Y<(/0@[2O.JKG-0'O1X*.?;
MIEXU* PDP.D.I<0TA"5^T_8H]0:0O:U(#.WRA0=0(;%(C7,K0"#IP$  @?05
MH*H@2 #/7Q;_(@4"#O5FQE@!N7*#!"1*D\(344^**I&_0(=8Z7&I';E+W NE
M:65X#PPR^C)5(*D!:(AA7BR78"&J#I!9@$(5:4,(69*V1%(P!V6?&]8U\Q,B
MEQP$L^%?^J9AJ[  L[%"74(DB9*H&JSO("QVN9GCWYZ@8UKR7\,= ;X&C8;[
M%5<+&8&F; %V"XQF0ZAKT,EF99")0/EUW;=LB.#]!,2ARDOW61W!VJ:XQR\0
M!%%H^'A,GT'SRJ*S0E8#0=<0GC'^R.7&E,1605)D[F]_>7XVOWK5 HA5OP37
MUS=N@Z;.0)KP(_P@BX.'6!?;K7W&@\AXZ$51EKP)ARUD\D"FA$)$^09L1]4;
M?406X02TZ^+J/'E^<:XOS\Y F<[U\Q>@0,_.]8N+B^3Y?*Z/\F-U78(DD@-
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
MBK"NH1%LS!I;2O?&OO:XR@3Q(U> QJN 0V9=4DXT,+;F%YP&(TN0577,>'1
M8 5KPLF;R:!4S2FLD^9A644 A*49&B6D "_)Y3IX+! 3S$ D@I\FB7\='M]+
M\1EB+K>8B#DF'B(]N"88E?6QLG+^A0T6"6$8_-J8JW75(+#D8((+<.O$8_P=
MLB<$<(?5,V(-),8LSV"=\SZ38MP"Q-VLFC0G*FWK<H\%@@0YONP;XCF*0=^V
M3*B/=6?4_&H6 <1I;DL5RWO##IN\ ]D!"V3CT;$UXWLLF)HM:>Y+?30_=LXL
MB\P4P$^]I2.@*970Z4LI9R3JZ.S0BX%#T?6B+%;T*R[CA=:NG.BC\^-8-^PR
M@; AK=$['5T<4V7![:<F'W1UT4E V(T=71Z'Q,%-+<THX3@B8WK\P#IH?%OX
MJZ4H0(51 %7W^W+)M44,@J>7X,R.Z5&7C,C2-"YM<-2V/CWJ&+$T=\7&V+P5
M14PA6%CR1(-04($&2UK8=Y'0QF[3^.*J;;8TG :#%(&8-'L'!X12A6G(7-#B
M;&08J)1C7'-25R>+&F(+WIXZ75B8CCLG2!IJ;O/FMGJUE(7'A5IJ@$N=F*2=
MZ;KAVF3;H3-#C:&&$H<5:<XU-3 ^0)1- 6JD4!4+2;*GF3'3=T@N->55\(<M
M"X^0&:0%HJ<J;!R"X?0UCE>(=6.P%IJ J<37[@MR7$@!>AZ"7C  !7A;]MWP
MN=B0*;6LE#UFF*@3OY3(:,L-.FXB.-L"GH"("L:C:XI%CX$9J^XVW1/!4,U
MAL B=I9D4^BRW(&7U OTYU3RH#=S"KQ5F68D45([Y<+S'C.>T*8#LRJSDS@5
M/[.\#*6!B%-(E9 +U<.8FG5B'9DS%6@L-E9+EM2FH,[%(2/HJ0]Q-PL#DP:_
M)2^"*&)VAB%W$12!K"-O341?\![%L;KK:J#(+839;+'?67>*8-RQZ$U7_+&U
M!V"UM$#A%C#A JU= ."AA()<69!?A!4L<"M(?C*$[8$H246[2GDK)^\F+_ O
MH;]GGD#XWIAVBU5K"B@Y(+0O63C!W^>&VE91!D"U1!_Q*9??NA=3GX]0H>L/
M(:UD.8@&;,CF-_@!\?$_N*PBVIPT[$>/99QT!U8*U2"MQ R9S;:L]X9S'FR)
MU5*PYP@,S"'GK)",=D56 "U=W5"HA]Q0<?F%=Q$4:3.)J<F*,NFWTEE91H41
M;PDDG*X.)8_D\*6H1?N\0=T\N<O6=6E:Q>N3,% 7'A^7.,!OB&6Q$)H!X>)4
MS38)D90MZ)KEG? 4C/U^BRVHDFLC."E GD!^]65VC'],?B(/2!H<*[XE0VMW
M)RXNC=1/'?V#QA?VE#B6I@2B9<P>D))6)C4 !FPTW:W31N10E)'T_FM#);$]
MZYCYB<WX=DPYD-COQ^H3R<Q-%*+><HA*/ZG)Z+4QUO-;&Y\X&)-Q6$ZZTZ.:
M30V1^&D3'4R;A &X.A!%)V#RNXD4IB(33I"RI+6^=11E]JP_"(SX8IO((6I$
M+2P% ZIBC!0K9<1Y9QT?2H!:_KY@(2@I6PZ"_:54"1[);%P,I :9>ICA"SR3
ME8('$D,0AQ+'*0C>SX (29=^D[9%IB#SP$8-A880^K#$$4I]Q]W&'.*>W*='
MD%1#[FQG@$(++@2U]<C1D$+54TV21B+X+9;RNN^PYDC5IJC(!0%'41(8$U"F
M5(DMLYZIM^(.OU02W$1"AYD!*B0N%$3UH>Y8>\,Y4X,6LIVAAT08_3"-@)L0
M<2@UYNRYH5R7!K-"K%!OB4JNHW-07Z.=1^J1"PT"T?=4$$2IC]6Y2FUK+!2<
MRR/N]S1L,HT3ORA31!J+J"?V):&H@M<F ?!QY[C68-DC=+>(C 1C+ ?D)FUF
MW&*J;')7U59VG-%-18&$;X[5-R;M.V>N,=#A,3H'P^,3>&20*G3]Z*,'0W/Z
MWQB:(Q\%^*F@^0ULVZ3?3>!:R%D$]5$>P1)I=FJ-1!-KASU*5V73894MF& +
MDFB'MII$.Y4VZ-0^+MH/JF]M6!/Q-L<J[G764<?:M'W9H3WIRUS&D$@^(.@"
M%1K@OZ.GL'KKD.;7)\I(00_&,9QZ*N2,RKTTWAT]V3GPW !2R*00K$@M'<2+
M*HR4&+5!/D@6Q8/8&'VX'A_D%6KXSCUY!RD:4=7$U;P+ZO$3GS'4O/.I&\Z4
MI59\+*5[EO% E/Q>=@PD0ALYYIZ(BFCK,(*#-5>V:Q.WIZ7)F,0/6]'+2+8'
MB4 BG;ZH6966>QI9)6670-HF/>'B;F2#.["Y33G%\G3I3VTA&M5K7 __GE.(
MB3XP:\LCO?ADHN,J(M$J3L6X83E^+)A*]8T+J713,DCC:PQKJ,"LI1R$VGZG
M--1\?.RF&<'@5<>*VIC_L#^^=VI]6T%B*/-([WU"0%.&2^IN2I3N@A*I5Z'-
M827DEIZDG%B#LI-:\#<P-7=E6%3HU)F?O3ZB(!VR<5K2U=K$;J:EHGXD3K[D
MV+@!*<8I(TG.K=5W6_EU27$TQG8-QO1!K6UANAUETKQ&E!N)YY5.,L\=4<?Z
M'T[>.APY*7[TU)[@,,RVW8/D9 /1(YX<*#:@^Z$FU@NJKB*;B@IB)FF*%=7H
MR;X:/<OE.G)Z6+#*39M!0D^]S6#O=0%RT&3K?9CJ85.(^J72EZ*M[0(R:9W@
M3[[:(7.ZNYIC)QFM!M4*X+*B6.+D6PAQPM*!+=^%>8!2,_6WO[QX=O7BE?Z
MT*FYIJAU_DK_9U]S48EK"/9,B?!-YBVHDHL9E)\:"%S;</$SM_@M$Z#V-3AZ
M0L^UFV4.<8'<C<O;DB3@UI7]E+A,]D<$,M5 @*W8+&/P5 S>J\$+1>60<U!@
MNX(1?T6%*H)#V#<!*M> *AH]KYNF7E GE>)R_Y 2T:>LDZ"$I*%+*?*5!!C,
M8LDCVJ.IC ?H>\[T/7L%(<U8T!VX,GS)8,%*'<-=U58GI7BZ]_7CH$3IAE.B
M4H"'<4!D;C_XATG^,1Q(XB'V)#H@X.0:QS!]R9!,&U#&.F(ZTT'5&"IT_"2_
M*0U^+#@9%EG;TU<V2,K=) ".YS4R#5^EY.7MN,Y@Z%\L]! ?BWR)8Y:"T>+_
M#*D>0WH((+4P]$)GN4?."SQ.?0Q)$05%D%5BH'D#OA6R615,CZ)] /./]MT5
M\7*![$\$WT'!@T4%U^,HD"NYU#R(1[&I4L C0!2^4!)._@LVNZ>5< 2U,GX4
MAJ,OGH'1=0:),OX&/"AIX@V_F"X$!'$7!0[P>FE6E/OU$!27,G6BR(!DEEA=
M*+^)S"O+ !B/J !R:QK0Q^F<ZA[AEG*73QG_Z/.5'6>15Y%/1)$LXHM4%/ @
M $,GLX2403NMI1% 9#15)+IXAJ@!XX][D%9G95IL6N\ /$,(C6#UJ,GBRKPQ
MB0S'>C+W"_(L8<8&)%OR&H!@#/@D3"!E.X,QZ^'5.C<KQK7ZLC"0?^.(,(48
MX40;2(W\0%V3HL(I'F5-D; * 0P(OG>#4D(AGLP!R!=<)"%ZNZ,,S"]7_G<G
M*ZR!\C.";*XD_E'B!%Q)EBGM*[0^4G(!'$2L3>\3E7')_Q%M="-,'GDUP#4-
M2BPQAA&!N$MO2<*UO7#8>@_+@#33;^B* _+AHX"[C)EY])$KC%=D9:>4#B=6
MZI4A3VN/A]F%_&F3B@?E+2#2IESZ),.&1_Y0"E$:S*6?EICI#_":BM711UHX
M#%!W7+ORY0.:8'#S%GUE9WN=*="K/J4F 4]FB6G,Z%3:.OS5\]Y#I#Z0)BT-
M=2[;6@;-B1 3ML,.>58R^^''?<.2N' 4>PO&:NQ@G:@(H=C?_ F1.]JZ4N77
M]"<LQ!]41Q\X</6UR0W8H6++V?Z4C,-;Q+>@=!5/2_HC+Y2"H\O$#%-<GNUW
MVLD0GWR.BRYQ<<!F,N)J\$4:Q, 13.HP==RZLW54>T(+?[,)S6&7J1S%Q@X>
MN$$..#QY,(25;4T<*2"(F%_8^3K7064AP6U. "OJ)B6H&$"]F1I02#]"(3?2
M*Y-@5<JFUY(\LL8XPL.]?^%B/'/$I4&K#E)0 JK@L&&SCR@ZG%SV ZN83F%G
M$V-6D7$I(=/\P9]&CIT"#YDA? ZAT0QGC(14C]AQV,E6LNQ(&I^PZNNI$HE8
MROLB9[P UI[R>*,FALX?0 ?8R6XKL%44*I7%=T,I!-A,U'@^0T$E8*SXX20"
M!Z:)B_8.ZPR%9VY@F!LDX&1H5F1*)^D ,4F ($EJU>-I8XP["0$*]EVIBXN&
MI0R"@9TV<L8&#%I:$J>")K6/YERH$OMYB!S):Z2L'6"QETRF:=IP -&W<F)6
MFG2IJU"AZ4%J]""KC20SUUUTVI?JVDDX_!&=4,*X(6C!<NW93J=3F69/S2<G
M< '<F&G4*NH6^$UD)%)RUJ[#/@XN*+,U07@AU:!HEX RX30)NW*I?Y. ;B%Z
M%$.E>+P ?=TPV)F,(B<L-*<$*_BJFO(F5KFD9N&+K+>!9"@O&4/O>,"AA"(W
MF"5V(O>_G2A6AT<CCWX<*SH-&!R"FYS@X(R6IJS(+-BQP*&KH4.(]O2G+V:R
M\;->Q*>7=IXRRWA#.?'OVPG1N"[3!-TM6L1!*=>>/;6[)T'\>L M!PF7*WX-
MQW2(C41F.2OJCC6:ZKYHZHJSID'\ N_74L5BTIU8PR%]64&<LD3$IJJK$SO
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
MX7A>QY<?93(Q2&CZG&$//M-U2Y/P,$OKV%XL;;N,HOB:SB_Q^)!D]+;=H/Q
MQ*@1.#W#,W5Q^]/@EOV-:5;T;PFTW/KB"_?=M^Z?*[CF6_K]X_QO'?R>-BO4
MJ](LX=73V=7E$ZY$V0] ?KJS?U%W7;VA/_%.7]/@ _#[LJX[^P$W</^(P^O_
M 5!+ P04    "  2@']:5W'-+Y$#   @"   &0   'AL+W=O<FMS:&5E=',O
M<VAE970Q,BYX;6RM5M%RXC84?><K[KB=SG;&P99M6$B!&4A(EQVRRX2DG7T4
M6&#-RI(KB1#Z]7LE@TO;A.Y#7X*EJW/N.5>Z4@9[I;^:@C$++Z609A@4UE;7
M4636!2NI::N*28QLE"ZIQ:'>1J;2C.8>5(HHB>-N5%(N@]' SRWT:*!V5G#)
M%AK,KBRI/DR84/MA0(+3Q /?%M9-1*-!1;=LR>Q3M= XBAJ6G)=,&JXD:+89
M!F-R/<G<>K_@-\[VYNP;G).54E_=8)8/@]@)8H*MK6.@^//,;I@0C@AE_''D
M#)J4#GC^?6*_\][1RXH:=J/$[SRWQ3#H!9"S#=T)^Z#V']C13\?QK94P_B_L
MZ[4D#6"],U:51S J*+FL?^G+L0YG@%[\!B Y A*ONT[D5=Y22T<#K?:@W6ID
M<Q_>JD>C."[=IBRMQBA'G!W-I^/E=#F(+'*YF6A]Q$UJ7/(&CB1PKZ0M#$QE
MSO*_$T0HHE&2G)1,DHN,MVS=AI2$D,1)=H$O;9REGB]]RQG#S3*O.:MQV>LX
MUP77IJ)K-@SPF!NFGUDP^ND'THU_N: J:U1EE]@OU/LB[G55:;M5\\%,MCY2
MN<.VPO*1;@B?J%0WV,"P5&+GSK_!-5A@X:J2 P5/!ESBR@K9N! LA-D<L,]!
M;38<@U3FX')1O2[\(&?/V,45]J1MPV/!:C;84^-A5+:XY)93 1ML-3@@TAQ9
M)-O3E6" #*CQ+.R!L-EI6S!]%FBC7KCWJ=V!" 'C<*/*BLH#K-&/$CRG%KTT
M5O&FTM1[11U6><2"Z9WW)=2ZCGE!EFEL)@^WC8]_%:,V>4I:4%RLH*('%(R7
M(A7V@*6"'R'MA'T20R?,LA@R$J:=&)9/]_?CAR_P^0X>9K]^>+SZ?'?UM)S"
M>+F</L+XTRWXK8/Y;#R9S6>/7UK^0G2$3ZAE; RSIC6A@DJW%1:P/UBYPAH=
M>R3!Q*3[/DR2I#4NE;;\3V\0WG5(V$_Z\/,E=.K0I!,F_?0?:)*&W7Z&Z"G5
MXM!4RL506UVI=R0F8:?_'SDRS''5\GT(<TY77'![^%Y+\^.68'YF++ 7K#A.
M=$/2(:T%/;A#:-!K+XQ[\?=[?8.6A*37/:,E6=CSM/]/$>"UFR,ZN[5+IK?^
M;3)XMG?2UA=X,]L\?^/ZUO]K>?UV8I]L.1YMP38(C=OO.P'H^CVJ!U95_@U8
M*8LOBO\L\ EGVBW ^$8I>QJX!,T_!:-O4$L#!!0    ( !* ?UI\0:04=P(
M 'D%   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;(V4WV_:,!#'W_DK
MK&R:5BDB/TM)!Y$"I6JE=:V@[1ZF/9CD(%&=F-D.=/_]SD[(F 1H+^3.OOOX
MSN9[HQT7;S('4.2]9)4<6[E2FVO'D6D.)95]OH$*=U9<E%2A*]:.W B@F4DJ
MF>.[[L I:5%9\<BL/8EXQ&O%B@J>!)%U65+Q>P*,[\:69^T7YL4Z5WK!B4<;
MNH8%J)?-DT#/Z2A944(E"UX1 :NQE7C7DU#'FX#7 G;RP":ZDR7G;]JYS\:6
MJPL"!JG2!(J?+4R!,0W",GZU3*L[4B<>VGOZK>D=>UE2"5/.OA>9RL?6T"(9
MK&C-U)SO[J#MYU+S4LZD^26[)M8/+)+64O&R3<8*RJ)JOO2]O8>#A*%[(L%O
M$WQ3=W.0J?*&*AJ/!-\1H:.1I@W3JLG&XHI*/\I""=PM,$_%R73Z^/+M>4'F
ML^GL_C69?)V-'(5@O>VD+6320/P3$,\G#[Q2N22S*H/L7X"#%75E^?NR)OY9
MX@VD?1)X-O%=/SS#"[HV \,+3O#FD$*QI4L&DOQ(EE()_#O\/-9IPPF/<[1$
MKN6&IC"V4 ,2Q!:L^-,';^!^.5-EV%49GJ/_[V.<A1PO,>SWCL#)8GHWNWE!
MX_&6'-GOZ=O73Q#TDC3E=:4D"G%_D^0C\3P[&@8V3@#MN+87H!-&O82AV&F5
MXFWCW" 9KY=J53/48$OY[ ^O;,_UR06:$29& ;GH/7-%68^>.FH0#6PW&J(3
MV<,PL-W+ 3EVZ\Z!'$H0:R-Z20RU44:WVLV5I)'3W_!F*#U0L2XJ21BL,-7M
M7UU:1#1";QS%-T9<2ZY0JL;,<3:"T &XO^)<[1U]0#=MXS]02P,$%     @
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
MOD-VH\6NGOUKH;$Q:K' IYM*HX#?-T+HT\8X:/X,3/\#4$L#!!0    ( !*
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
M/^R J.:Z:J-X:6:I!ZYP,C/++8["5.@'>+_F7!TVVD S7 __!E!+ P04
M"  2@']:#DUPC/L$  #,#0  &0   'AL+W=O<FMS:&5E=',O<VAE970Q.2YX
M;6SM5UMOVS84?M>O.'"+(@$$6U;LQLW%0',IFF'M@C;;, Q[H"5:)D*1*DG9
MR;_?=RC;=;,DVULW8 ^^D#R7[]P^2B<KZV[]0LI =[4V_K2W"*$Y&@Q\L9"U
M\'W;2(.3N76U"%BZ:N ;)T49E6H]R+/L]: 6RO2F)W'OVDU/;!NT,O+:D6_K
M6KC[,ZGMZK0W[&TV/JEJ$7AC,#UI1"4_R_!S<^VP&FRME*J6QBMKR,GY:>_M
M\.ALQ/)1X!<E5W[G/W$D,VMO>7%5GO8R!B2U+ );$/A9RG.I-1L"C"]KF[VM
M2U;<_;^Q_B[&CEAFPLMSJW]595B<]B8]*N5<M#I\LJOW<AW/F.T55OOX3:M.
M-C_L4='Z8.NU,A#4RG2_XFZ=AQV%2?:$0KY6R"/NSE%$>2&"F)XXNR+'TK#&
M?V*H41O@E.&B? X.IPIZ8?KCU<=+^ND=G7^ZO+BZ.1D$V.230;'6/^OT\R?T
MASE]L"8L/%V:4I;?&A@ S!91OD%TEC]K\4(6?3H8II1G^>@9>P?;" ^BO8,G
M[<T"72A?:.M;)^GWMS,?'+KAC\>B[6R-'K?%$W+D&U'(TQY&P$NWE+WIJQ?#
MU]GQ,TA'6Z2CYZS_@UH\J_\XNF'63[XU3'LD:#^Y,O1#:V1,<TJ7'Z_IRBRE
M#YBXX#%O1JYD26$A$_9#=DZ%DZ4*:-"PH,_!%K?TFW"EIS-A;DF8DFX<&I;V
M7KV8Y'EVO",2=X;'^WVZ64C87EJ]5*:B!Y:5)] ,3)&H*B<K$22)VK8F0"AI
M&PJ6 9&6'M&QXI[:IY<T2L=9EF991N.,)O$[YV7<&O4S.NR/:8(/O"=/>B_0
MQV QOQX[4!2)^5SQZ(,X8H"&,?&BL$MI!!*5DC*%;DNVQ]#F5H/GL#J"3-UH
M)4PANY1IL8)XX^Q2,:7Y!*[G"E8*)33Y@&B[W+.G1CIE2X6RR\8Z]M.(>SYF
MP$'<2>PPYP:&4<0P%,IG@F78,(! 6L='?Y$#H3M$ <"B*#BY/A%AMZ#ISH(K
M-SP\]BR+K',%0#D:6)W0*76W M,KUZWXTB*T;CD'S\^\*I5P2G9I:AVZ:H.U
MQ%C*TL!F2J7RC>T48U8$RLLA5P@@=)7"-9!2L1"FDA[:-&N]ZI3MRDCG%ZIA
M")MMTK:(N" @324JM@*U6KH*TC%#.W!C,F\[F>T,)+ '9,&I61N%.BVT!*J*
MS@2)&"_BY>+[]%$8>XX;DYM84-4*QFYCD[X>HQW?Y./8C@=C&J;CPVYQ8Q,O
M"V:E$.=BI\;"W*][W]/,.E )IK%%VMQ:]O$N3N/I.5J/#<0$0F]W6@5%ERK<
M$[<%B"(DR Q7*W"ZA=;PK'5L--CJBL&K!QR!S-ZA]3W/0RQIP-V*R[9%-Z/+
MT65PT6G'N4]F0G<]V 9V%6=F$Y'R#T,2T2=N UG/(+*Y$6B%@Y<\W^,\'8[?
M()N389:.#M_0WFP_^3KW'0\,O^&!R;^.!?X3)/#_]/_=]/.UMNT&3(^WJ!D<
MQ,E&8G>',E8"'TPB'NA4W=;$I;"<F2\8'C6_9RS;KDC6$[B^_/#X_)0DV9E6
ME=A@VI++=R,6>D@LR:/$LN'.[\4HP I*,4K'SV-/<H.=)^S81?P> 8[@-'8/
MV]O=[:O*V^X)_:MX]Y[S0;B*^47+.52S_N&X1ZY[=^@6P3;Q>7UF P@H_EW@
M=4LZ%L#YW-JP6;"#[0O<]$]02P,$%     @ $H!_6E$ P1[] P  'P@  !D
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
MG<RVW#FF"BJ3$TALO%KJ%6LTD/AW6Y0B+PWY4<-ZL0!4S5G-FAXDSL^FX:*
MM,AUGJ%@Y/T2^U5EBG7,SK.,!@4U?D+-(_@J-<"EC1NL]P;61SF-M&65_XTQ
MT@OZW721=<F:C;46?;7*R7$%D&-V44)-*WX3PZ%(+*'\G0*H0)$IO%!#B *R
M&F6V5.2MQ#)Q5.3?D*,CC37AJ*II=N(%BCH8AE@C-Z(&GGMG]69LM95NU^JW
MCD')V!,.[1F26N:<. ,LN2FVBH %6);<)&18+,+ =IP85SZP&J= V7QNE-$D
MT7Z_AQ;/,MF8/1^$1&,SOF'MX(7)K10%[PH/3>PB3;4MR+R_T_67,;._V5U_
MH1E(*I)200>:.5U7:* 68//1&R4@8]#[3PGL0Z4]!N#;1DU=W@?XDP@3R0>?
M77IU\[$0@=\I7KK"(&6[WLB'O:\EI9!+\TV(WG$!XO;#R?;I]K/3>?NUY4V\
M_6;UA<LENBC&W0*JSG$<#IALOP.U-[I>FV\OLUKKNC27*\'!>A+ [XNZUIL;
M.F#[,>[L?U!+ P04    "  2@']:; M2N. #  !4"   &0   'AL+W=O<FMS
M:&5E=',O<VAE970R,BYX;6R-5EUSVCH0??>OV'$[?7*Q,>8C!)CAJQ-F$F#B
MI'WHW =A+]@3V_*5Y-#\^[N2#25WDK0/B61I]^PYJ]6*T9&+)YD@*OB59X4<
MVXE2Y=!U991@SF2+EUC0SIZ+G"GZ% =7E@)9;)SRS/4]K^?F+"WLR<BL;<5D
MQ"N5I05N!<@JSYEXF6'&CV.[;9\6[M-#HO2".QF5[( AJL=R*^C+/:/$:8Z%
M3'D! O=C>]H>S@)M;PR^IWB4%W/02G:</^F/53RV/4T(,XR41F T/.,<LTP#
M$8U_&TS['%([7LY/Z-^,=M*R8Q+G//N1QBH9VP,;8MRS*E/W_'B#C9ZNQHMX
M)LU_.-:V'<^&J)**YXTS,<C3HA[9KR8/%PZ#]QS\QL$WO.M AN6"*389"7X$
MH:T)34^,5.--Y-)"'TJH!.VFY*<FJ_5\<[>$[?(>PIOI_7+D*D+5>V[4(,QJ
M!/\=A+8/=[Q0B81E$6/\&L E.F=._HG3S/\0<8%1"SIM!WS/#S[ ZYPU=@Q>
MYQV\)1-%6APD;%% F#"!\'.ZDTI02?SSEN :+G@;3E^3H2Q9A&.;[H%$\8SV
MY,NG=L^[_H!L<"8;?(3^5P?R(<+;_-J=EO5_:'A(T)KSO&3%"QC30DG8<97H
M0D\C8$4,<9I5"F-(BXCG""6E4)H4TI52"<*> @'?0TJN$2\DS]*8:0>I:,@-
MI-ZNW34B32A8HB_V,S8;+6OVYXCZ+V)95&4F ).PYQEU%3F$<'ZS7#S>+F'S
M#6;3<#6'Z7H!B]7MX\-R ;>;,/PMV])EI6NK8ZVIZYV8*2727:78+D-07&M1
M@N"I<,A$(:5'P6?H.%YGX'3]*YK[3K_?=0:]P/IA+K_F](R">IG6F%."#&_2
M7RG*1A$3UK 1VO:=H!LX5]V^F78"9S#H68M&.BWU!I[3ZPW,[N#*"7K]2[8Z
M*9<Q_HK^\(TD?P:O1=DP@P]S%(H:N45M)WH"7NK&*>&8<$F@*'+9'"!)J;=T
MZ!AE1+'-B<&:*X1VX,"73P/?]ZY#@[2ID<Q:^YH JBR&DDP+E;(L>VGH-&6W
MW(8$99GJJE0ET %2!D<2 04W.<BJN(ZGC71!D7+3Y:G43M(TS XC5DF3D9B#
MY/1&Z- )G1/M(;T*Q."K\:!B;-&-T%)?+5JG-)@TGVNN]:KFINN'U5=3;JOO
MM+!]6&W6X46A32\1SXGM!UW'\SP:/3/2?11H-3KAK6;B7G3Z',7!O&?ZXE6%
MJIO^>?7\9$[KE^*W>?W>WC%Q2(E$AGMR]5K]K@VB?L/J#\5+\VY00Z!7R$P3
M>O91: /:WW,ZP.9#!SC_D)C\!U!+ P04    "  2@']:ZA6UVMT%  #E#
M&0   'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6R-5UEOVS@0?M>O&+A%T0*J
MK,M7+L!QG-;87(B3%-C%/M#2V"8BB2I)Q<G^^AU2LF.W<781(*+$.;ZY/M)'
M*R$?U1)1PW.>%>JXM=2Z/&BW5;+$G"E/E%C0SES(G&EZE8NV*B6RU"KE63OT
M_6X[9[QHG1S9;S?RY$A4.N,%WDA059XS^7**F5@=MX+6^L,M7RRU^= ^.2K9
M J>H[\L;26_MC964YU@H+@J0.#]N#8.#T]C(6X$'CBNUM083R4R(1_,R28];
MO@&$&2;:6&#T>,(19IDQ1#!^-C9;&Y=&<7N]MGYN8Z=89DSA2&0_>*J7QZU^
M"U*<LRK3MV+U'9MX.L9>(C)E_\.JEHVC%B25TB)OE E!SHOZR9Z;/&PI]/T]
M"F&C$%K<M2.+\HQI=G(DQ0JDD29K9F%#M=H$CA>F*%,M:9>3GCZ9WEV/_H#K
MF[O)]=7TJ*W)I-EH)XWZ::T>[E$/0K@4A5XJ&!<IIKL&VH1E RA< SH-W[5X
MAHD'4>!"Z(?Q._:B38"1M1?M"W#))'X]I<*E<,->J)\T#*5DQ0+M^J_A3&E)
MS?'W6]'7MN.W;9N!.5 E2_"X11.A4#YAZ^33AZ#K'[Z#/-X@C]^S_M^E>5?]
M;7!![#D[=N%NB<Y(Y"4K7F#)%#"@GDL>091V:LJ,%?#YTX=^&/J'-_1BE\'A
M%\]H0EG)4B@$,0>]Y J,!-!3"RBE>.(I DM3;DRQ#'B14,II"JW ([X YF4F
M7A"5ZXCYG"<HE0LIES2S0A*8(H5$%(I&C!5:U6X0UGC--J?/JIHIGG(F.5GF
M!0B9HC0NEIB5P+2MKY66J(FHK)$9*OKVQ'C&9AE%0JY%46#F$-,!!65!6Y>4
MO9*6?,8SKFNO@BS(%:?(*<Q<:+0F594DJ'Z%:3(6] X5S"I%-5+*@XDV2>*%
M1C,U),QTDW#ZJE2%J5,5-H9-4DT:--<5N2I$\?5GQ3(^YZ2\72Y55V6!!4K*
MMT:96S1LQ62J8&T3=ZI+\U$C"'P?.O1G6F(N,N)K7BQ V_34I,W_,:5[([2=
MGK%,2^DC69-+(_^"C,I91TL3COF,@*RGW&:4%M$!3$??QV?W%V.X/H?M/H7A
MZ&[R,+F;C*?.566U*2QE9INHYQEE4M>".@A^6"8F1^R)LK! YY11F FZOWD.
M(7"[_:[K4^ ?(?!Z/L1>$-$Z\L*N,S):64:6* I\+JDM4_C<Z<96X8L5B[NO
M*IV.LX9"<OV-E#5</_9CB0A+$,2O6#IDL1M8PT'D?"/&,C$%KM\/&J'0\WTG
M]OR.70?A'L!AK[,-96,W]#KQ#F!_5RSTXMB*1<%^V#$AZL?^%B+8(.KVU^9-
M"[VE.X@&VYH;8+T SBI)W>?\_^9Q=ZB!&$0L"NK7]8#,[ F0T#;=*%C=ITJ)
MA#.3UA77R]U)HMUF"-1K6SK4EK?CT?6WJ\F?X[.F0T^'4UJ/KB]OQE?3H>E6
MQP(SH)P+FGCB*,Q!U+2C-#FT)P\U,!&BR+&AN9QH>FFN.T_8;!PX/ZA_:QID
M*9W^W!Q5AD!!44$LW7V$+L5>)S&BI'3] ?&YI4PSO1W?#2(?NI$;]P)G:B)T
MWD@%6>E%5I*L#*A?^OZO%=A7@-V\+]9]ZH<65,$S&/0&F_5V)G<&_'PXN86'
MX<7]&(;3Z?UE?3S93%(7E70@D%6B/ 1+.L%ATQ:1YSL3<BD-G5-RT#2O'<K
M>1 9A6=)N]OU_ !Z@=<9..>,2WAB667/K76]U\A-]]-44T.&,%1T+.T+>=7P
MS->&9ZCGS"W89)W(VIXY1-(U9N.GTE3[(C7[IJ#X.AI;W&\HQ4P\=/W([7=\
M C.PA,P6"XD+$Q\=&U08Q9/?8WC/!Q'\[\/#30,%;L\?6&>F0OTX<GN#9MUW
M>]030>!V0A_>NM.TMZZ>.<J%O6 K2D!5Z/H6NOFZN<,/ZZOKJWC] ^"2R07%
M!1G.2=4G"FJ!K"_5]8L6I;W(SH2F:[%=+NEW"$HC0/MS00=Q\V(<;'[9G/P+
M4$L#!!0    ( !* ?UKZY4M;< (  )T%   9    >&PO=V]R:W-H965T<R]S
M:&5E=#(T+GAM;(U476_:,!1][Z^XRJ8](>)\D:J#2$ [K>JJH;;;'J8]F.1"
MK"9V:CNE_/O9#F14HJPOL:]]SO&Y=NX=;X1\5"6BAI>ZXFKBE5HW%[ZO\A)K
MJH:B06YV5D+65)M0KGW52*2%(]65'Q(R\FO*N)>-W=I"9F/1ZHIQ7$A0;5U3
MN9UA)383+_#V"W=L76J[X&?CAJ[Q'O6/9B%-Y/<J!:N1*R8X2%Q-O&EP,8LM
MW@%^,MRH@SG83)9"/-K@NIAXQ!K""G-M%:@9GG&.566%C(VGG:;7'VF)A_.]
M^A>7N\EE217.1?6+%;J<>.<>%+BB;:7OQ.8K[O))K%XN*N6^L.FP@0'GK=*B
MWI&-@YKQ;J0ONWLX()R3-PCACA ZW]U!SN4EU30;2[$!:=%&S4Y<JHYMS#%N
M'^5>2[/+#$]G\^GB^F'Z#>X?OL]OQKXVDG;#SW?T64</WZ '(=P*KDL%5[S
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
M[$%9[(68=B'>XOD*R4,+FQU?^EJV 3OKD?%5D/Q"8%],7J+[Y>;Z\X<OE]\
MYG R&?/[W]T8JZ,UTAVN%N)=T/<![:%]AJAW7*&!14GR"FB?#Y4 D 9\XF11
MRLUV@RZ>ILA4&/$4@_;KN1Y.YPCH-DHYW=<(A;&\IW?_<@<Y%VHR._!$[)$(
M4U\DZ*-10/O>BX]WOE= X<Q^E3%DE7:?+C:KFP\_P^Y[QW9[]]7H2N(-IN)7
MO2E$W:,D&G1)7-^T]=)^_7BH6WAO+^<*KUX-;\!SO*.UZQLVL/D<=O8/4$L#
M!!0    ( !* ?UJP-B[_. (  .T$   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(W+GAM;(V437/:,!"&[_D5.^I,3PS^X".4VIX!0J<Y)$-#20^='H2]8$\L
MR9%D2/Y])1E<.@6F%TDK[3YZ5](JV@OYHG)$#6^LY"HFN=;5V/-4FB.CJBLJ
MY&9E(R2CVIARZZE*(LU<$"N]T/>''J,%)TGDYA8RB42MRX+C0H*J&:/R?8JE
MV,<D(,>)IV*;:SOA)5%%M[A$O:H6TEA>2\D*AEP5@H/$34PFP7C:M_[.X;G
MO3H9@\UD+<2+->ZSF/A6$):8:DN@IMOA#,O2@HR,UP.3M%O:P-/QD?[%Y6YR
M65.%,U'^*#*=QV1$(,,-K4O])/9?\9#/P/)242K7PK[Q#3\12&NE!3L$&P6L
MX$U/WP[G<!(P\B\$A(> T.EN-G(J[ZBF223%'J3U-C0[<*FZ:".NX/92EEJ:
MU<+$Z62YFB[GWU;SQ^\P?S;M,O*TP=I%+ST@I@TBO( (0G@07.<*YCS#[&^
M9_2THL*CJ&EXE7B':1=Z00="/^Q?X?7:)'N.U[N49+U6^%HCUS#?F5;!S\E:
M:6F>Q*]S^3:T_GF:+9.QJFB*,3%UH%#ND"0?/P1#__,5K?U6:_\:_?\NY#HB
M&'5O_L' /;_1.8+.)2*PYL+07A@\4)GFQ_,>=,"ZS02K*'^'0JG:N QO.[[O
MPW!@NW-9>B=/D*'<ND)3D(J:Z^8UMK-M+4^:)_S'O?D(C)QMP164N#&A?O=V
M0$ VQ=486E3N0:^%-N7AAKGYCU!:![.^$4(?#;M!^\,EOP%02P,$%     @
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
MM&G!<,TV%?/]R%OS<WXM=F327=&A]6+:V#A @HT@(R.W+=85\EM:=>#PF*_
M73GA&V0#BO6R6!&_IR)98YF%YP?C<:U4K<%.UB?("J=L&Z'Q@&-WCFB,)YHR
M)IK"$XW0QY*\K'Y75VRUH+HV.7(4F@EL?^$#6D5<+*/0>LO2IMDCMLEVLP)H
M!'RKU0_P1&:_J8C163GL4C#O4)C@5E*6;"B!E+6Y)MG[A6/O%Y/LO<5EB,P
MZ'<@%\_>T5:/\_'D?$?X> 5&NYY>2CM&5V.,SNKM%P/.9=$9($D<><#W+R/"
M9"'+PMF=$$MI! &=L&E"240Z1(L>THW0N=T=J0FTR,#$1)_#6PI9T8"2!6^
MU$L!!)"!0&&V. )DVV<;NPXJ2G2)ERS&T,(G*?\OE%5IVS?![VA=[H406Z,L
MA9-'N4L;*^,&*SJ+70P0,*R+EK2BD2# "H1>ZR&6>6&;; 6M07'M2- Z304S
MLK+NT/1?Q<L>\LOH9+CK8,M)B.ZBM;O/A7-$0L#74#'CYA\W1;91(Q"8K\SJ
M:-ZL8&;KA/WJ/N,Z8G24^]"&9*E1HR_E4"7H\QB;Z=_ (7H$6UZQPLJ_2<G1
M@&(XX) *$4^@G6CYF"!9>0'4 \,+8 ZB,8CW;8U69P.\8$@Z%ZO_'T(^1KEV
MCXC<([#SA" .P39&===7:&.BY2JJ.M7=8WT&8W?6P>)C#KQ6-("!'U(,7A.-
MP/>J<S^@)=7B:K/#@QG%LQJ'=<A=0#J>EH2SX.L .;#H:A1IEB:)']T\*)."
M115Y)F3V.;(O1'^!U5WG8A46.;P,:A?51NP#.!LV@%4PNT/QV*!=1+^3$@I<
M@P+=;,8RGLR8J "*RHV$2[9I\\5T9\PO-'>:;<A3M\=5-W#*N!J@NM_N6.<U
M9ITV.3G-S%7BX"#M)2@C'KL-&V:)8T$EW\EQ)Y\)G'7S (>.GC?X=AB.A-T'
MAR<&=2@](G,1]V!]?XMA#.'699&3X4A!'K9S*+P$I#!M@<_/?7[A?%))_UIC
M<*/2M^1)9OO1-,+D%$?T\OI4#>=FTQF\%\0^.L#V=Q'2EG *)LS/L_L9^(YE
MF382FCPV%*-P\1S.60]C3W;B6W"8X*=*A9.#15JU)=.AG4O>$R"L G,"X]@&
MDB'X2>0\$V];CJ]R51:L4Q%"Y@Y@3Q*(XA0 29C5"H-5(K*L5\>)0:01\(DE
M4(-T:6F)]I1F3.PDQ&63SAFQL3R[(E,W2#N@Z(*"17GO-#IS/: K0%6:_]G;
M= (@F2:%GX%\8>8V1.;@8'PH/Z#N55-OR?)UQQ8,.#S]9'A$)#2.'E,2G@FR
M,-D2$NNR2SNQ1?M3CM^L,T N&X9Z0![ +\R_+ A00C=F@SG1!V.'?9N? R.<
MPY6'LX"UP+RD'&F@@\(#G'C!(\&CJN.#1^T((KJF/7D9GF*$.:.8$(<Q'#4/
M8X "($S-T"A!!:APCBW#:P&9H!LG;M X2OQP>'TO>28P"-UD0N;HO0GUX)S3
M$B_(J,XG)9YEE(\LCA%'HT)O<I8C0F]SJD:FCSP':["V+K0*:A#T5P$V$=$@
M/@<7&1'XB*%H(AV8G_D-5%O>9Q+97@([FG63YG2*N[K<8Q K08I<]0W1)))I
MW[9\D'_4G5'SZUD$$,<R6@K_/QBV=DBUDIRR0#9^.S9/](#9![,CR?)2G\Q/
MG26016(4X*>$[0F<.67SZ$<)N27J9'%L8*"-=;TLBS4]Q6D\4]F9$WUR<1KS
MKITF8 ;$-:KVD\M3BGZY]=3HBR[), H(VP G5Z<A<G!1BS/RUDY(V)].S(/*
MH85/+9E0*C2A**/7ERL.U*,',3X%N^^,C[KDC:Q,XWPNAVUK$(4.AW!;5VR-
M#4X@B2D$"_,'*+ *"B)BV!53P&(7VF4:GZFP>=^&8QU 14 FS=[! 79H81H2
M9S0Y"T$&*F4'P9S5U=FR!L.,ET?[C[(\<1(744/%([RXC;"N9.+#K <5F$C2
MA:B=\;KE^'G;H;)%CJ'<-MMD:<YQ7Q".@)1M 6RDD!4+B:2,'\9,WR.ZU)C6
MPP<[)AY!,U +F)YP@I2-7AHX1A#L/I#U"G?=&(S7)R#*<=A#08H5,4#O@\<
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
MNZHM3TJ29._S1$$JPE7P1;$I#^, R9QF]"\3_:/YDL0-:DG4D^CH&EL"?&J
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
M$N0MAIJ8B\U%?%M:">4W-;2P RKW=ATPZTS_B[2^T[1\S1QO\)!_"4BZ!BP
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
MG*Q3.6*;!]SYJ6F^A*7"/&%3Q-9<"Y*UD"S;@96"C.;%F[SNOL,!H'$*X.\
MOM%=)#(J[X@D88NS#7 =K=CTP%@U:"6.YKHHL>1JERJ<#/O=*.[&\'%,IBF*
MBY8C%:G><I(=0:<@\$\0>#X,6"Z7 KKY#&>_$SA*32G)WTOJ^&<9[S"Y@JIG
M@^_ZP1F^:FFQ:OBJIRRBJIHXYJS !<=Q^CK<B!5)L&VI\RZ0OZ 5?GCGU=U/
M9U0%I:K@''L83P:#:/0$C_<PZGU^&%\^WE].XBY$<=P=0_3E#DQIH-^+.KU^
M;_QTS,#9%,<-P#\GKIB;"FP.$X$0"8%25#HD)7F"0"2H>F$V1;ZOF0_OP:M?
MV[[O5Z*,<4E_$',#/]8\N^DWX>(<NJK17LWVF]4_T%[5KC<#A>X2GFY!(E?W
MH=A3VE)=917D>G:M^9<<@<IQ63'G OJ43&E*Y?:ME@H8S55^%!+P5?5'M5"W
MO9I7&9*MZEA2**\-VVVX;_=Z@M:SO4;]@-8+[(:A_3\? 8Z=9.>@G63(%Z9I
M"DC8.I=%9RE7R[X<%>WH5WC1U >$+V@NE+"Y@KI7US4+>-$HBXED*].<IDRJ
M5F>&2_5O0:X#U/Z<,;F?Z 3EWRK\"5!+ P04    "  2@']:WB2TYGP"  !X
M!0  &0   'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6R%5-]OVC 0?N>OL+)I
M6J6H^5E*.H@4*%4KK6L%;?<P[<$D!XGJQ)GME.Z_W]D)&9. O9 [^^Z[[\Y\
M-]YR\2IS $7>2U;)B94K55\YCDQS**D\YS54>+/FHJ0*7;%Q9"V 9B:I9([O
MND.GI$5EQ6-S]BCB,6\4*RIX%$0V94G%[RDPOIU8GK4[6!2;7.D#)Q[7= -+
M4,_UHT#/Z5&RHH1*%KPB M83*_&NIJ&.-P$O!6SEGDUT)RO.7[5SETTL5Q,"
M!JG2"!0_;S #QC00TOC585I]29VX;^_0;TSOV,N*2IAQ]KW(5#ZQ1A;)8$T;
MIA9\>PM=/Q<:+^5,FE^R;6,#WR)I(Q4ONV1D4!95^Z7OW1SV$D;ND02_2_ -
M[[:087E-%8W'@F^)T-&(I@W3JLE&<D6E'V6I!-X6F*?B9#9[>/[VM"2+^6Q^
M]Y),O\[)YR>Z8B#/QH[""CK.23NT:8OF'T'S?'+/*Y5+,J\RR/X%<)!:S\_?
M\9OZ)Q&O(3TG@6<3W_7#$WA!WV]@\((C> M(H7@S_9$?R4HJ@?^+GX<Z;7'"
MPSA:*U>RIBE,+!2#!/$&5OSI@S=TOYQ@&?8LPU/H\7)V.[]^QJ=XN"$'7N@0
MW9. A^F2_Y09Z)GKP0>#)$UY4RF).MS-CWPDGF='H\#&!: =U_8"=,)HD##4
M.JU2G#&N#9+Q9J76#4,)=BB?_=&E[;D^.4,SPL0H(&>#)ZXH&]!CI8;1T':C
M$3J1/0H#V[T8DD.S=O;44(+8&,U+8E!;8?2G_5I)6C7]#6]WTCT5FZ*2A,$:
M4]WSRPN+B%;GK:-X;;2UX@J5:LP<5R,('8#W:\[5SM$%^F4;_P%02P,$%
M  @ $H!_6J4@HV2  @  3@4  !D   !X;"]W;W)K<VAE971S+W-H965T,S(N
M>&UL?91M;]HP$,??\RE.635M4M0\ J&#2.6A:J7U0=!VFJ:],,D!5AT[LTW3
M?OO9"61,HKQ)[NR[G_]G^SRLA'Q1&T0-;P7C:N1LM"XO/$]E&RR(.A<E<C.S
M$K(@VKAR[:E2(LGKI()YH>_WO()0[J3#>NQ!ID.QU8QR?)"@MD5!Y/L8F:A&
M3N#L!^9TO=%VP$N')5GC O53^2"-Y[64G!;(%14<)*Y&SF5P,8YM?!WP3+%2
M!S;82I9"O%CG)A\YOA6$##-M"<3\7G&"C%F0D?%GQW3:)6WBH;VG7]6UFUJ6
M1.%$L!\TUYN1DSB0XXILF9Z+ZAIW]70M+Q-,U5^HFM@H="#;*BV*7;)14%#>
M_,G;;A\.$A+_@X1PEQ#6NIN%:I53HDDZE*("::,-S1IUJ76V$4>Y/92%EF:6
MFCR=WMP]S^X>[^<WLP5\>21+ANKKT-.&;.>];$<9-Y3P TH0PJW@>J-@QG/,
M_P=X1E*K*]SK&H<GB5/,SB$*7 C],#[!B]HZHYH7?50G?T6NA7R'*549$VHK
M$7Y=+I66YF+\/E9R XR/ VVS7*B29#AR3#<HE*_HI)\_!3W_VPFY<2LW/D5/
M%Y/KV?3I^PSNKV!_1#^/B3R).2X2CL([=J/M;D>=B2A*AAIS6 N1*SB#R/5[
MOMOU$V.';B\)W:";=.:D,E=1HZ2$*2 \-ZU=EHRB@KZ;A ,3V(?$C;NAVX^"
MSJ/0A'5H>Q!G$/AN,O#=8-"U3N &4>PFR0".;:!W<,<+E.NZDQ5D8LMU<]W;
MT?:QN&QZY%]X\]+<$KFF7 '#E4GUS_M=!V33O8VC15EWS%)HTW^UN3$/'DH;
M8.970NB]8Q=HG]#T+U!+ P04    "  2@']:;#L;7* #   6"   &0   'AL
M+W=O<FMS:&5E=',O<VAE970S,RYX;6R=5FUOVS80_NY?<5"#8@.(2*0HD4IM
M T[L(@6<Q(V3#<.P#[),VT(ET:6HN/GW.\HO]3K'P_K%Y%%W#Y][[DBZN]'F
M2[U2RL*WLJCJGK>R=GWE^W6V4F5:7^JUJO#+0ILRM6B:I5^OC4KG;5!9^"P(
M8K],\\KK=]NUB>EW=6.+O%(3 W53EJEYO5:%WO0\ZNT7'O/ERKH%O]]=ITLU
M5?9Y/3%H^0>4>5ZJJLYU!48M>MZ 7EUSY]\Z_):K37TT!Y?)3.LOSO@T[WF!
M(Z0*E5F'D.+PHFY443@@I/%UA^D=MG2!Q_,]^L<V=\QEEM;J1A>_YW.[ZGG2
M@[E:I$UA'_7F5NWRB1Q>IHNZ_87-UI<+#[*FMKK<!2.#,J^V8_IMI\-1@ S>
M"&"[ -;RWF[4LARF-NUWC=Z <=Z(YB9MJFTTDLLK5Y2I-?@UQSC;GSP^3$:/
M3W\0&'U^_C2Y&]T_P>!^"./18#JZ?1@/I_#+4SHK5/UKU[>XH0OSLQWX]1:<
MO0%.&=SIRJYJ&%5S-?\G@(],#W39GNXU.XLX5-DEA)0 "Q@_@Q<>T@];O/"M
M] VVM[&O!"9%6EE(JSF,OC;Y&OO.PI^#66T--LY?IW+?(O/3R.XP7=7K-%,]
M#T]+K<R+\OKOW]$X^'"&-S_PYN?0^].;V]'P>3R"AX_PWR4\Q?XL_FGV\/]V
M[;@:P2#+FK(I4JOF;=$Z-[JV,%0(F^5I>S+OE>U<-WDQSZMEW98@+]=&ORA7
MA!HN@#(BDHB(*$"#DXA1PK"W+D 2)M .96?0X$G1LQP;%6@2$Q9%0&-)9""
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
MNW6*Z5FLTTSKK^'PH@"YA-TZ3]>0:Y2A6<.#D>G3(U>9AB&OGH!7&<P4JI(
M-_@94U$NA&J:5+]'PX=4XK'5!C\L8IJU@*4L\/SGU>H2C@4Y;PIRWB+^[/&=
M\60*=Z+*I.$$/!>"ML^ X8.Y\ '\."(LBJR5)(2&B3/AE;S"JXR CT&)"W[
MB.N'X!'7#4@4Q#7D5*CM,YXV0$G(8N+''EJ1'Q'JT]>!K!T #7R2L @H<PEU
MHU>;A6V&>_B,$1I;*X@8\>+8\;WHN0"&85&"6V"Q)$)42BCU21A&U@IB0A-:
MHZ8U*H.H[2(6PQJ2@,$GIU:UL:K.L(\0DX@E) YBM#PO((D?.K="ZTN\3)02
ME8&-5/5]^)$2+W!)@@5>P$</27HD]"E<_ Q98? Q^0.$)/1B$H=1;<>^3WPW
M@#,Z9XW.V?_6^6 RF0]NX7H^F]^/87I_,[FZF:)C.GB\&T]F#Z>4?Q;]M/)G
M:^$TP@1CK[[#=,K_$;K6K9V"V;9 (?.JVO("EENS50(V*J_2?(..#?^!0\IH
MX-J*_:V$7^K]OPIS'@57^QOT-=*TV6]0RBUV8K05#L(S;$/32.L((0@C="1V
M$4&0Q"1@@5W$&,A\EW@T=K!R'.%+8]'1@7^HDQDJLD"\9PV=:FOGQ; IA5K5
M(U7CB4=6^[G3>)NI/=@/J^?P_<B_XVJ55QH*L<14MQUA#]5^C.X71F[JT;60
M!@=A;:[QEX=0-@#?+Z4TQX7=H/DMT_\74$L#!!0    ( !* ?UIMXLHEY 8
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
M)FCD1UB+@X,Q[^W=' NE']W]V*[XZ(3-);)]VU[!KYJ;YRMY<W__*O5C5M:
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
M?+BF+HM"!]#^DG-UF&B"LF]W_@!02P,$%     @ $H!_6O[IK5G1!@  4P\
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
MRSE>O:IQ!/@^U=IN-NZ"[3OZ[!]02P,$%     @ $H!_6FW^IZO@ P  .!0
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
M@;0#3/]2"/U8L1/4=\3A3U!+ P04    "  2@']:3VOAWJ %  "K(   &0
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
MBRQ@22NF)GQW!8T?(S#C3)I?LJMS0\\B6245+QHP*BCRLG[2Q^8>#@!N\ +
M:P#>6P%^ _"-T5J9L36BBB:QX#LB=#:RZ86Y&X-&-WFIW^)4"3S-$:>2:7HU
M'LT^C\G-)1FFZ<WLZ]V43,;I^/I^>(';1R-0-&?RF)R0V71$CMX?Q[;"PAIN
M9TV1B[J(]T*1$62GQ'<_$L_Q@@YX^G:X_Q1NH]W6L]=Z]@R?_P+?!#+(MW3.
M0)+OP[E4 O],/[ILU3Q!-X]NL'.YH1D,+.P@"6(+5O+AG=MS/G69_$]D3RS[
MK67_-?9DF&6\*I7$QMM[[_);DX2&1/?_-G'=J._C2(CM[:&7CD3']7TOB-K$
M)SJ#5F?PNDZ&8X66&;X9G%!DP:NY6E8,N[W6WR6Z9NP=:#GQ^F>NXSW3W)47
M.6[D=TL.6\GAJY+ON*)_!/[C@L.."^Y%/2?J/Q/[=V+4#WPG[#T3:Q^TOAZ[
M7ZA8Y:4D#):(=$[/D$+4HZP.%-^8:3#G"F>+6:YQ^H/0"7B^Y%SM SU@VN])
M\AM02P,$%     @ $H!_6D5(,3^  @  108  !D   !X;"]W;W)K<VAE971S
M+W-H965T-#DN>&ULK55=3]LP%/TK5C9-(&W-=YNR-!*T("IM@%I@FJ8]N,EM
M:^'$F>TV\.]G.VG60D \["7VM>\Y.<?QO8DKQA_$&D"BQYP68F2MI2Q/;%ND
M:\BQZ+$2"K6S9#S'4H5\98N2 \X,**>VYSA].\>DL)+8K-WP)&8;24D!-QR)
M39YC_G0&E%4CR[5V"S.R6DN]8"=QB5<P!WE7WG 5V2U+1G(H!&$%XK <6:?N
MR3C4^2;AGD E]N9(.UDP]J"#:3:R'"T(**12,V U;&$,E&HB)>-/PVFUK]3
M_?F._<)X5UX66,"8T1\DD^N1%5DH@R7>4#ECU24T?HS E%%AGJBJ<P//0NE&
M2)8W8*4@)T4]XL?F'/8 ;O *P&L WGL!?@/PC=%:F;$UP1(G,6<5XCI;L>F)
M.1N#5FY(H;_B7'*U2Q1.)O/QY?GD[MLYNKY TZO[\ZO;Z]E/=#0!B0D5Q^@+
MNIM/T-''X]B6ZG4:9*<-]5E-[;U"/8&TAWSW,_(<+^B C]\/]P_AMC+9.O5:
MIY[A\U_AFQ9;*"3C3VA"1$J9V'! OTX70G)UEWYW^:L)@VY"75\GHL0IC"Q5
M0 +X%JSDTP>W[WSM<ON?R Z\^ZUW_RWV9,SRDH*$#*T8RT27UYH@- 2Z]+>)
M[_2=T(EB>[MOXV6>UX\\-_R7=Z P:!4&;RJ<X4I=:PF<8"H0+C+55\J2$N@4
M6W/U]T0,(F_8CP;/Q+[,BX+0&_ANM]BP%1N^*?:624P1V5VH+H7ABV-RG6CH
MN,/PF<2.1-?U@R@:/M-H[Q6Y;K#?,5^10B *2P5U>@/%P>NF50>2E:;N%TRJ
M+F*F:]7G@>L$M;]D3.X"W4K:/T?R%U!+ P04    "  2@']:KT+\9IP%  ".
M(P  &0   'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6RUFFMOHS@4AO^*E5VM
M9J1N@R]@Z*:1VB:C5FJGV5YVM1KM!TJ<!@W@##CM]-^O(2D.8&B;-:J4AN3X
MS7M.[.,'PNB9I]^S)6,"_(RC)#L>+(58'0V'6;!DL9\=\A5+Y#L+GL:^D(?I
MXS!;I<R?%X/B:(@LRQG&?I@,QJ/BM5DZ'O&UB,*$S5*0K>/83U].6<2?CP=P
M\/K"3?BX%/D+P_%HY3^R6R;N5[-4'@U+E7D8LR0+>0)2MC@>G,"C,V+E XJ(
MOT+VG.T\!WDJ#YQ_SP\NYL<#*W?$(A:(7,*7_Y[8&8NB7$GZ^+$5'92?F0_<
M??ZJ_J5(7B;SX&?LC$=_AW.Q/!ZX S!G"W\=B1O^?,ZV"=FY7L"CK'@$SYM8
MAPY L,X$C[>#I8,X3#;__9_;0NP,@*1E -H.0.\=@+<#<)'HQEF1UL07_GB4
M\F>0YM%2+7]2U*88+;,)D_QKO!6I?#>4X\3X]NQ\.KF_G(+K+V!V<SV;WMS]
M<P"F?]Y?S*ZF7^_ R=<)N)R>W$[/KR\GM^#3A D_C++/X'=P?SL!GW[]/!H*
MZ2-7&P;;SSS=?"9J^<P)"PX!A@< 68AHAI^]?SBN#A_*[,L2H+($J-##+7JS
M5"Z*5+P<@%GD)P+XR1Q,?ZS#E9RM GR[E.'@0K X^U>7ZD:;Z+7S17B4K?R
M'0_D*LM8^L0&X]]^@8[UARYQ0V*5,N"R#+A+?7S&,Z%+<#/*+D;E3>%IC%S/
MM5SDC(9/N^8U@1@[-K7L,K!BC)3&2*>QDR!8Q^O(%VP.)DQF'H1^W@)T9C=*
MSHX'"%U,'()J9C6!%O2P!UV]6;LT:W>:59-I54XF]CJ9#D#"Y(/@PH]T[NVF
M*0J) UU2<Z\)Q#*4NE3OWBG=.YWN3]=A- ^3Q\)V>7 1KU+^Q/(,,O#MBL4/
M+-6NA4[QCZX%0V*5.M"R#K3'ED!-EL&06*4,;ED&=Z^6X#:G'Z*>36VK-D]U
M@9A(=RTMP2N-><9:@M?P0&P$Y5_-:S,.NY[CMBTI:*D=UNJO)6RU=VVYB!(;
MNS7[ND!""&UK:'"'$&!WL=<20OA#&+'NU=\M\]%Y;TJMFK1B M@G%$"C5&!*
MK5H*Q05P/S#8#JNL;L]!MEV?F6_&58TI+H#FP !J-GRYN"U:-ZN)(Y9%K!:S
MB@M@CV  FQN^; *DT0.:8;:#8%NA%17 ;BRX7BS"@.W._ZXV8)0"3*E5,U<<
M /L$ 6B4!$RI54NA6 #N!P-0M\G++;9^>J"+H]3)3^&TLU.Q #0' ["YRT-(
M+0CK9C5QCFV1ELT4*1A /<( :N[QU(;U?JN)@DC"68MUQ0&HFP.N_& I7TI?
MZJN@HQET2W[X]+@/)D [UPEZO5!@]DI!'TR %!.@_9@ :?9Z&T.7VO6]2A=I
M69 2QVF9J(H+D#DN0,W]WO$0<IPZ&&@";>IYE'HM=A49H![) #6W?!=[CN75
M.YHFD"!(G;;S&Z3H '73P65NN+,)&"4"4VK5;!41H#Z) !DE E-JU5(H(D#[
M$0%J[O2$6+97/^-^.ZYJ3!$!,D<$W5+Z&@+ME_'_A:K7;153X!Z9 C=I0?ME
MO1U7=:^P G=CQ27S,[;DT?S]UQF[%3^ZBDRI5?-75('[I ILE"I,J55+L?,+
MQ)X_06A9P:I?;=2$N:Y+VV:HX@ELCB>P[H<%C=5F6)=5Q1*X1Y;HUOY *S0@
M5,U?L0CN9I$)>V*1+,$<W+%@F?"(/[Z XK?I-SJ*440QI58M@D(4W">B8*.(
M8DJM6@J%*'@_1,%-]/"(1^JGTIHP:&'4NNDI0L'F" 4WKT5HO6HN671X)0HO
M2(]XT:W]@9YB0&B3_W#G9HG\3I4K/WT,DPQ$;"&5K4,JFU>ZN?EC<R#XJKA_
MXH$+P>/BZ9+Y<Y;F ?+]!>?B]2"_):.\!6?\'U!+ P04    "  2@']:X\^L
ML)@"  !Y!@  &0   'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6RM56MOFS 4
M_2L6FZ96ZDIX)6U'D/*:6JD/EK2;IFD?'+@)5@VFMI.T_WZV(2SM2+1)^P)^
MW'-\SH5['6X8?Q09@$3/.2U$W\JD+"]L6R09Y%B<LA(*M;-@/,=23?G2%B4'
MG!I03FVWT^G:.2:%%85F+>91R%:2D@)BCL0JSS%_&0)EF[[E6-N%*5EF4B_8
M45CB)<Q /I0Q5S.[84E)#H4@K$ <%GUKX%R, AUO KX2V(B=,=).YHP]ZLE5
MVK<Z6A!02*1FP.JUAA%0JHF4C*>:TVJ.U,#=\9;]L_&NO,RQ@!&CWT@JL[YU
M9J$4%GA%Y91M+J'V8P0FC KS1)LJMAM8*%D)R?(:K!3DI*C>^+G.PP[ Z>X!
MN#7 ?0OP]P"\&N 9HY4R8VN,)8Y"SC:(ZVC%I@<F-P:MW)!"?\69Y&J7*)R,
MXNE=/)G>?S]!DR\/5_'-Y/8>#6['Z'HRF$TN[Z[',W0T!HD)%>@6<XYUUH_1
M1_0P&Z.C]\>A+94*S64G]8G#ZD1WSXF.BVY8(3.!)D4*Z6L"6\EO/+A;#T/W
M(.,8DE/D.2?([;A^BZ#1W\.] W*\)J6>X?/VI92K&N/RY03%%!<2X2)%DZ<5
M*=7/+]&/P5Q(KO[>GVVIJYC]=F9=T1>BQ GT+56R O@:K.C#.Z?;^=1F^S^1
MO4J"WR3!/\2NDJI($X)UK;89K="!0>M.LXZ<WGG/[W5#>[WKH24N<+N><][$
MO9(7-/*"@_)FF )B"X2% "G:!![$_^N7"/YPX0=G;RW8.U6< U^:YB90PE:%
MK(JA6:WZYU#U3]-GWJRKOCHP[<3^35,UY1O,EZ00B,)"479.>TH2KQI=-9&L
M-+UBSJ3J/&:8J;L!N Y0^PO&Y':B#VANF^@74$L#!!0    ( !* ?UJOWZJ9
M)0,  ,@)   9    >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;*U676_:,!3]
M*U8Z59VT-E]\%Y HH6TD1JM"VX=I#R:Y@%4G9K:!;K]^=A(R6 WM0Q$"V[GG
M^)Q['=OM#>,O8@$@T6M"4]&Q%E(N6[8MH@4D6%RP):3JR8SQ!$O5Y7-;+#G@
M. ,EU/8<IV8GF*16MYV-W?-NFZTD)2G<<R1628+Y[RN@;-.Q7&L[\$#F"ZD'
M[&Y[B><P!OFXO.>J9Y<L,4D@%82EB,.L8_7<5K^IX[. )P(;L=-&VLF4L1?=
M">..Y6A!0"&2F@&KOS7T@5)-I&3\*CBM<DH-W&UOV:\S[\K+% OH,_I,8KGH
M6 T+Q3##*RH?V.86"C]5S1<Q*K)?M"EB'0M%*R%94H"5@H2D^3]^+?*P W K
M!P!> ? ^"O +@)\9S95EM@(L<;?-V09Q':W8="/+3896;DBJJSB67#TE"B>[
MX_[M('@<#M#=-;JYNPN>P^$0]48!"D?!X#H<A9,!&H9/ STPZ8UNPBL5VQN/
M!Y,Q.@M 8D+%5W2.'L<!.OORM6U+)4I3VU$AX"H7X!T0$$!T@7SW&_(<KV*
M]S\.]_?AMDI%F0^OS(>7\?D'^&X8BS>$4H33&(6IQ.F<3"F@GA @!0J(B"@3
M*P[H1V\J)%?+\*?)=#Y+Q3R+?C5;8HDCZ%CJW1/ UV!U3T_<FG-I2L$GD>TE
MQ"\3XA]C+Q-B,IDCJQE2;Q?KKE?U*UZ]VK;7N_K?C]N35BFE58[6ZE]Y1%&?
MEDEEY3-+\4ED>WZKI=_JT5*$J=J?2$HD(*KVOAB=GC0\U[U$:AG&@ 1$7*]1
MO7*S$;4MOPA31O)I:COUJ-<=]?FO;.^&[;FHE2YJ1UT$9@_Y7@=<#0MI5%U[
M(\?SJP;9[\?MZ:Z7NNM'=?>B:)6L*)9*-$X8E^0/SDXB]=W6Y3SW1'86)LX6
MILE/_8W.<]=Q#(8,@8W*84.-TE#CJ*&1NB,<%'Y$=^.-'-=8!T-<U3TLNUG*
M;AZ5/6$2TX\I;;[==US/H-00YS4,2NV=<U;?<;YC/B>I0!1F"NE<U!4%S^\-
M>4>R97;T3IE4BSMK+M15"[@.4,]GC,EM1Y_FY>6M^Q=02P,$%     @ $H!_
M6MT!8*]; @  Z@4  !D   !X;"]W;W)K<VAE971S+W-H965T-3,N>&ULE91K
M;]HP%(;_BI5-4R=-) 0('0N1@*0KTBB(RS9MV@>3',"J$Z>V(=V_G^U A*90
MVGQ(?#GO^YR3Q,<O&'\4.P")GE.:B;ZUDS+OV;:(=Y!BT6 Y9&IGPWB*I9KR
MK2UR#C@QHI3:KN-X=HI)9@6^69OQP&=[24D&,X[$/DTQ_SL$RHJ^U;1."W.R
MW4F]8 =^CK>P +G*9US-[,HE(2ED@K ,<=CTK4&S-^SJ>!/PG4 ASL9(5[)F
M[%%/QDG?<G1"0"&6V@&KQP%&0*DV4FD\'3VM"JF%Y^.3^YVI7=6RQ@)&C/X@
MB=SUK5L+);#!>RKGK+B'8ST=[1<S*LP=%66LYU@HW@O)TJ-899"2K'SBY^-[
M.!.X[@6!>Q2X)N\29+(,L<2!SUF!N(Y6;GI@2C5JE1S)]$=92*YVB=+)8#&Z
MC\+5MPA-[U"T6(XG@V44HKO5<C6/T& RG2_'OP;+\?0!13]GT<,B0C<A2$RH
M^.C;4B6@;>SX"!N6,/<"+(2X@5K-3\AUW#9:+4)T\_X_&UOE7Q7A5D6XQK=U
MP?<K8TE!*$4X2] XDSC;DC4%-! "I$ A$3%E8L\!_1ZLA>3J5_A3EWU):==3
M]/'HB1S'T+?4_R^ '\ */KQK>LZ7%VIH536T7G(/U"OIU.54JCI&I4_8(5!
M=?GVH8;6KFCM:S2OCE:JO%?2.A6M<XW6K:-UWD3S*IIWC79;1_/>1.M6M.XU
MVN<Z6O=UW\T^.[JZ"TXPWY),( H;)70:7>7 R\Y23B3+S6E>,ZEZ@QGN5#,&
MK@/4_H8Q>9KH!E&U]^ ?4$L#!!0    ( !* ?UIW.EY_<P(  +P%   9
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
M7Z[D%89,)<CW"TK%/E %RDO1^PU02P,$%     @ $H!_6NB)$>-S!0  WBH
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
MD16T1B$/!SU&5X#EU@(M/RAR4W@+-E&:#^,=9^)N)/SXX&[X^6+T,+X UY_
M^/KJ+W!_<7L)1A?G]^#=B/ PBK/WX 0\W(W N]_?]TPNGIE[FM,2_WR-CS;@
MC\CT%&#X 2 +V1+WX>[NN.UN"J857531104>WH WING3/6')B$SX6-S[PDF2
M@:_Y(2B._Y-17&/:<LQ\HIUEBW!*^H:821EA+\08_/$;=*T_980U@;7HXXH^
M5J$7]$^XX"\J?<)E5-?^3N&?MX"7@>\Y@6_[/?.ER4+YG%]D85<L;#4+DF5G
M8G(P1E(.%I3E#4%&1@DC#Q+(ALSN).7$"1QD53EIT7 J&LX>@P%2T=1*3C(N
M:RRW$8/K0M]WO3<#(['S,<:6+0_6K8)UE<'><3I]!O^&;):!\S!]!A_3&;AG
MHD&!KY<DF1 FG3E*T'UGCB:P%G^OXN\=H7%X.NEK FO1]ROZ_H&-P^_4G;QQ
M2.P@M /LRNLSJ (,]/2$H//\$P1M*_#AFT EAA#YT,5('BFTZE>NI7'BEV#;
M9[[,4#7U84,CP$,G/_@!\ND!QC1,FQ<OKF[ )4EGE(<?P'@\5'8+=1C[SA==
M:.VDU4H#'D-J0*U:0Q=:.P6UVH"'RHT2H%FS6/0-KU/;$KL@0&ZPH;1K*0'5
M6N* TKX*4PJ&XK-*7=._($(4 ZH)K9VM6K% YQ@UK=1!>Z= $UH[!;4.@FHA
MM$--N]U:M1VK\88KB73MH&797N.5V8ZQUBI0J04.[=<WA"W!M1A295UKU3:Z
MT-H)J]4-](]1UTK-M'<*-*&U4U#K)[A%0&VOZZXB0J[CXXYRDAEZV$.;E!.J
ME1-2*R<=A7V_HLK"5H>P]]>^)K1VPFKEAN QUCNTZC!=:.T4-%9\E")GA\(N
M 5KU:N/ >2M"9':.A2QO0UG7.@FI=9(6$;*M8:MCV'M0C[$ A&K9ANQCU+56
M+:8+K9V"6HNA?9:/I'2[:T$0.P[RG;>%+3&T/4=\9&ZH[%HMH8.7C395-H;>
MZY?CU@]'=11[#^PQ%II0K=[0,9::D%8]I@NMG8):CZ%#EYM0=QT)(83=SJJ(
MU-#V4;!)C-2*":D5DY:NO56-*&/8>U@UH;4W'VKYAJTC5#;6*LATH;534 LR
MK%Y*VV$'!G9V&Z!C.X']MFNKG[33]L::A-G8/LSW;B]#]A2E&8C)HT"V3CT1
M"UMOAZY/.%T4.XH3RCE-BL,Y"6>$Y0;B_B.E_/4DWZ2L-J4'/P%02P,$%
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
M"F#*0#Y?42K>!RI ]1=E\#]02P,$%     @ $H!_6K ;B*H4!   O0P  !D
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
MMK*F+ZJI5FH57%9J*BO)U=-,Z>1T-7M_,W^ZOP&+6_"P> "+QYOEU<>[A[_
M_6*U K.KY?*?V\7RT]5RO@+OYE22+!>_CWVI?&L+_KKQ<UW[P3U^YG1] 0+T
M!\ 0A^!I-0?O?OW!C*]";^/';?RXLAOTV%T<*"<R*W?@G@D!9H3S[^JW>B1\
M(\#G>_4VN).T$/^>"[DV'9XWK?\/E^) UG3BJ1^\H/R5>M/??D$Q_-,2>- &
M'MBL3S\R2?)S0=6RJ)+I_]3K-(QA'*3!V'\]XR]L_856?Q@&$'S^0(MGRL\F
MPRH?F(RH#2YR1S%R$'C<!AX/HUC+X@Y%'(Y2F)R'F+3NDI]!1%:(5OG 7*1M
M<*D[B*F#P$=MX*-A$$<G$-,X2L+X/$0$3<V%/\.(K1CM^H'I0)V>@-R1;&S_
MS[&;?H"L5;L?9J/KTHSB&,%1#TU3R)&]DBN:B9VF53\T(Z;PH] A31=M 9F^
M@*S5VT(S.J&)HBA*4MB#TU1T9"_I"N?(CM.J'YH2TP)0XA"GBP:!3(= UCIN
MP9F>X@S",$$]-$UI1_;:CF%H7_;8]0,S@DTKP-#A^M5%F\"F36!K*>^GV>BZ
M-(-1C-*>QHD[BWU[<5<T[>L?NWYH1DPKP(%#FB[:!#9M MLW"/TTPU.:$*DM
M20]-4]RQO;@KFO9ED%T_-".F$^#8(4T770*;+H'M.X5^FLDI312AJ&=G@DUM
MQ_;:KF@&=IHNUOC8= (\<DC319<(3)<([!N&_L,">'):@#&&<?@#3;]S0J1/
MVSX0OLM* 7*Z54)XD2@+O#[ J@>2':I#HV<F)2NJRSTE&\KU"^KYEC'Y-M#G
M4.TQXO0_4$L#!!0    ( !* ?UJ2_T,'- 0  &D0   9    >&PO=V]R:W-H
M965T<R]S:&5E=#<P+GAM;+58:6_C-A#]*X1Z8!=((U&7Y=0VX#A9-$ NY&@+
M+/J!EL:VL!+IDG0<[Z_O4%+D2U$W@?,EEBC.XYO'X7 FO:60W]0,0)/G/..J
M;\VTGI_8MHIGD#-U+.; \<M$R)QI?)536\TEL*0PRC/;=9S0SEG*K4&O&+N5
M@YY8Z"SE<"N)6N0YDZM3R,2R;U'K9> NG<ZT&; 'O3F;PCWHQ_FMQ#>[1DG2
M'+A*!2<2)GUK2$]&-#0&Q8P_4UBJC6=B7!D+\<V\7"1]RS&,((-8&PB&/T\P
M@BPS2,CCWPK4JM<TAIO/+^A?"N?1F3%3,!+97VFB9WTKLD@"$[;(])U8_@&5
M0X'!BT6FBK]D6<[U?8O$"Z5%7ADC@SSEY2][KH38,(B<5PS<RL#=,:"OK>!5
M!E[A:,FL<.N,:3;H2;$DTLQ&-/-0:%-8HS<I-]MXKR5^3=%.#RZN1S=7Y^1A
M^/?Y/?ET!IJEF2+73$IF]/U,?B./]V?DT\^?>[;&]8R5'5?8IR6V^PHV=<F5
MX'JFR#E/(-D&L)%HS=9]87OJMB*>07Q,/'I$7,?U&PB-?MS<:Z'CU>)Y!9[W
M"M[-'(Q,?$HNA5)DA*JM\&0MF4P4^7J)L\F%AES]TZ1=">TW0YO3>Z+F+(:^
MA<=3@7P":_#K3S1T?F_R^T!@6RKXM0I^&_I@M) 2N"8ICT4.1+-G L^89A0T
MN5UB!066R3%/@]"EW:#;LY\V'=J?1JG;":/UO"VN0<TU:.6ZWK',[%B\L6--
M9(,]%G[HA%[D[;!M7?2=\H>U2V&K2Y=IGFI(R$*G6?J=F>38Y$H[R,,,R/7-
M9:4(J23!+<6,F'+$SU9'F)GT;',9DE5+:T'$9*) %\HNYF8@<G[!01,-;)S!
M2W"DF+CYBDPQM7"R B:/FZ*YE>L[Y>S4<G9:E7CD$F(QY>EWXQC&\A@X:J#5
MD?$!;TJUF\E*?3O[H4*[+O5W(J6<%FY%E$^CH#FLHYIT]#[234RC/0IN)_ =
MI[-#M6&>Y_F=KM?,M5MS[;9R'<:Q7(")+0VX?1H#(B&8+EBF4V@DW-TCXGF>
M$X4[?/>GT:X7!+29+G76-Z3SX^*R-[.OT+=XN5XG]';UKB9NAE#7\0/_E91'
M-ZYXVIZ@&6<)(W> AVX!9#@%'J_(URO(QR ;[Z9VP+=>3H="VW;?7;OO?MPM
M76$?2HD#H6TKL2Y7:&L=\-;;KT(+__?Z:U_VO6ZMZP_:7H!\@03]RL@0C^*]
M9N9&NBBOFP=,A:UQW@K\YMT]$-JV#.O2A@8?&.<'*F$J)3ZB(*+KBHBV5S-O
MC?.PH2;U'#?:#?.#UB7V1M.6@YP6O2R2%0NNRXZH'BW[Y5/3+YNF;V<<^^AA
MT3W::YBR";]B<IIR13*8(*1SW$$79=G7EB]:S(O6<"PT-IK%XPP8GB8S ;]/
MA- O+V:!^K\+@_\ 4$L#!!0    ( !* ?UIE0K^&!0,  *X(   9    >&PO
M=V]R:W-H965T<R]S:&5E=#<Q+GAM;+5676_:,!3]*U8V3:VTD9#O,H@$A*J5
M^H'(V!ZF/9AP(5:3F-D&NG\_VX&,LH!XV%X2V[GGW'/\==/=4O;",P"!7HN\
MY#TC$V+5,4V>9E!@WJ(K*.67!64%%K++EB9?,<!S#2IRT[8LWRPP*8VHJ\?&
M+.K2M<A)"6.&^+HH,/LU@)QN>T;;V ],R#(3:L",NBN\A 3$=#5FLF?6+'-2
M0,D)+1&#1<_HMSO#4,7K@*\$MOR@C923&:4OJG,_[QF6$@0YI$(Q8/G:P!#R
M7!%)&3]WG$:=4@$/VWOV6^U=>IEA#D.:?R-SD?6,T$!S6.!U+B9T>P<[/Y[B
M2VG.]1-MJ]C -5"ZYH(6.[!44)"R>N/7W3P< -K^"8"] ]C'@%,9G!W T48K
M9=I6C 6.NHQN$5/1DDTU]-QHM'1#2K6*B6#R*Y$X$27#NU$\?1BAYULTZ"?W
M0]1_BE%\_S#],HK1PW.2H/%H@I*[_F2$KF(0F.3\&GU"TR1&5^^ONZ:0*A27
MF>XR#JJ,]HF,;1L]TE)D'(W*.<S?$IA2?NW!WGL8V&<98TA;R&E_1+9ENPV"
MAI?#G3-RG'I*'<WGG. ;85:2<LG1&!A*,LP ?>_/N&!RR_YHFJ^*SFVF4\>X
MPU<XA9XASRD'M@$C^O"N[5N?F[S^([(WSMW:N7N./7J2MPXI4UH PD(P,EL+
M/,L!"8I2N>2,YA*QE"$"9'+1-!=5 D\G4#?0)G(L)_3LFZZY.;3Y=YP=!%[H
MNW7<&P=>[< [ZV" .4F;=%4P_R!?VW8]]\8+CH0U!CIN&/K-ROQ:F7]664SR
MM3@^+I4VOR&E'UJ^'QYI:PITPQO7#YJU!;6VX-)U7\D]+QN%O*&YWOJ7;(0.
M.CGO5>+P0++5LMTC7XU!=K.GL/84_F=/9U8LO,158]"Q*_/@ZB^ +75%Y%+1
MNA35#5J/5D5W((NN+DY'X[(8]W4-,O_05)7\$;,E*3G*82$IK58@MSBKJF/5
M$72E"\R,"EFN=#.3/Q3 5(#\OJ!4[#LJ0?V+$OT&4$L#!!0    ( !* ?UJC
M=W).90(  *8%   9    >&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;*U4;6_:
M,!#^*Y8G39NTUB$)=&(A$F]5D?J"2MM]F/;!) >QZMB9;:#[][.=D-$*JGW8
M%^([W_/</8?ODIU4S[H ,.BEY$(/<&%,U2=$9P645)_+"H2]64E54F--M2:Z
M4D!S#RHY"8.@1TK*!$X3[YNK-)$;PYF N4)Z4Y94_1X!E[L![N"]XYZM"^,<
M)$TJNH8%F,=JKJQ%6I:<E2 TDP(I6 WPL-,?QR[>!SPQV.F#,W)*EE(^.V.6
M#W#@"@(.F7$,U'ZV, ;.'9$MXU?#B=N4#GAXWK-?>NU6RY)J&$O^G>6F&."O
M&.6PHAMN[N7N"AH]7<>72:[]+]K5L=T(HVRCC2P;L*V@9*+^TI>F#P> 3N\$
M(&P X5M ? (0-8#("ZTK\[(FU- T47*'E(NV;.[@>^/15@T3[E]<&&5OF<69
M=#&^FDX>KZ?H[A(-;Q]F9Y/9]>/#[,DZY@^SN]L%^C0!0QG7G]$9T@55H!-B
M;&:')UF3951G"4]DZ83H1@I3:#05.>2O"8@MN:T[W-<]"M]EG$!VCJ+.%Q0&
M87RDH/&_PZ-WRHG:-D:>+SK!-Z5*,+'6: X*+5R7T(_A4AMEG^G/8_VJZ>+C
M=&YT^[JB&0RPG4T-:@LX_?BATPN^'=/ZG\A>*8];Y?%[[.E0&':6,[YQXXAD
MY8;SZ NI:7J>QNV6;7H1=X,@2,CV4,NQL. PK*Z2'#SY$M3:;P*-,KD1IGY%
MK;=>-B.[;/Q0OO';)33TLT?^TM0;[(:J-1,:<5A9RN#\HHN1JK=";1A9^<%:
M2F/'U!\+NTA!N0![OY+2[ V7H%W-Z1]02P,$%     @ $H!_6B9E/R%; @
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
M[2_+&L^\T\BW*YGMFEW)""AI-)U=HI9#=3$_=3<[6;8M&;-.97]3DFHJ6O@
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
MHH[5LB#$%=G&:L9W[S$75#=X 8]E^@^[?*]C0;"5BB=YL&:04)9=R;?<B(,
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
MG*N.%KD.4,^GC,GM1&]0]<CA3U!+ P04    "  2@']:J5215N4"  !\"@
M&0   'AL+W=O<FMS:&5E=',O<VAE970X-"YX;6S%5FMOVC 4_2M6-DV=M#;O
M5P>1TH2N2(Q6!+H/TSZX<(&H2<QL ]V_GYVD$;0I:BND?DG\N.?XW),;ZW:V
MA-ZS)0!'#WE6L*ZRY'QUKJILNH0<LS.R@D+LS G-,1=3NE#9B@*>E: \4PU-
M<]0<IX42=,JU&QITR)IG:0$W%+%UGF/Z[P(RLNTJNO*X,$H72RX7U*"SP@M(
M@$]6-U3,U(9EEN90L)04B,*\JX3Z>>3+^#+@-H4MVQDCF<D=(?=RTI]U%4T*
M@@RF7#)@\=I !%DFB82,OS6GTAPI@;OC1_;+,G>1RQUF$)'L5SKCRZ[B*6@&
M<[S.^(ALKZ#.QY9\4Y*Q\HFV=:RFH.F:<9+78*$@3XOJC1]J'W8 NO4"P*@!
MQFL!9@TPRT0K965:,>8XZ%"R151&"S8Y*+TIT2*;M)!?,>%4[*8"QX,DNNK%
MDT$/75^BP?7PQ^F@?]N+49@DO7&"PE%/K$;A6"SUAR@*AV$<HG 8H\FP+Q>3
ML=A#)S%PG&;L*SI%DR1&)Y^_=E0NU,DSU&FMY*)28KR@)(;I&3+U;\C0#*L%
M'KT>;N[#5>%)8XS1&&.4?.8+?"/80+$&AN:4Y*CWP($6.$-1^4F ,H2+&1J0
M8G$Z$'4X0R%CP!GZ/1 \J,\A9W_:/*@.M=H/E;_L.5OA*705\4\RH!M0@B^?
M=$?[WN;(D<CV_#$;?\Q#[,&8<)RU95C![!(F[Y!-8.B>IEFVWU$WN^J?!^J>
MKNFF;3>!>\JL1IEU4%E5I6W2#N+>:OZ1R/92M)L4[8\H3ON8_AR);,\?I_''
M>5]Q5C!GM^9TQ_*=)Z79$F89MNNV%Z;;J'(/JMJ],Y,V=0?A;_7_2&1[F7I-
MIMY'U*=W3'^.1+;GC]_XX[^O/OV6R]/Q3-\QGU3H\T#=]6W/=;TG-:KN] :R
M+_N)Z2(M&,I@+J#:F2LX:-7K5!-.5F6[<$>X^%CE<"G:0Z R0.S/">&/$]F!
M- UG\!]02P,$%     @ $H!_6EV7X8,  P  2PD  !D   !X;"]W;W)K<VAE
M971S+W-H965T.#4N>&ULM59M;]HP$/XK5E9-FU21-][:021>NJW20!6TVX>J
M'TQRD*Q)S&P#G;0?O[,#'J 0=1/[ GZY>^Z>Q^><.QO&GT4,(,E+EN:B:\52
M+J]M6X0Q9%34V!)RW)DSGE&)4[ZPQ9(#C;13EMJ>XS3MC":Y%73TVAT/.FPE
MTR2'.T[$*LLH_]F'E&VZEFOM%B;)(I9JP0XZ2[J *<B'Y1W'F6U0HB2#7"0L
M)QSF7:OG7@_:REX;?$U@(_;&1#&9,?:L)K=1UW)40I!"*!4"Q;\U#"!-%1"F
M\6.+:9F0RG%_O$/_J+DCEQD5,&#IMR22<==J6R2".5VE<L(VGV'+IZ'P0I8*
M_4LVA6VC99%P)23+MLZ809;DQ3]]V>JPY^"[)QR\K8-WY.!Y)QS\K8.OB1:9
M:5I#*FG0X6Q#N+)&-#70VFAO9)/DZA2GDN-N@GXRF-Y\&MV,[Z>D-QZ2=T.0
M-$D%&5/.J=+W?<>6&$79VN$6L5\@>B<078^,6"YC06[R"*)# !O3,SEZNQS[
M7B7B$,(:\=U+XCE>G3Q,,=&+]V0*"ZPF*4HR'+P>S]_A5>3I&RU]C>N?P)W
M&O(57)(1_<XX&>C3 TX>OZ AN960B:<R/0O4>CFJNL;78DE#Z%IX3P7P-5C!
MVS=NT_E01OU,8 <"U(T ]2KT8+S*9LB7S0E^950!Y0LBML=$?E6=6+\ ;FI@
M]>59!U['7N\3JPS]C\0:AEBCDE@O#-E*D9A ",F:SE(@CR-0;)^0V'W, <QY
M"[-51K0RT-\>]IG #C1I&DV:_Z7:F^<4X$Q@!P*TC "MUQ4%-T5Q2>A<H@8T
MQ>Y(\Q (]ED2<H@225(FU"VX*!.EB-38+W^GU;KR7??H%I09UMM>ZZIM# _(
MM V9=B69*<62QDL;X@7%[EV68P%PM1?:J37J1_F5&OE'N=E[_0I+9J';N"!:
MSJ)UF57S4NCI!FG_,2^>&2/*%TDN2 IS='5J+92&%ZV[F$BVU-UOQB36IQ[&
M^-H!K@QP?\Z8W$U4 /-^"GX#4$L#!!0    ( !* ?UJR!4NP] (  ,<+   9
M    >&PO=V]R:W-H965T<R]S:&5E=#@V+GAM;+6676^;,!2&_XK%I&F3MD*
MD*@C2$W(M$IKU35K=S'MPH&38!4PLTW2_OO9AK"D(6B16"[ -GX?^[S^R/&W
ME#WQ!$"@YRS-^<1(A"@N39-'"6287] "<OEE15F&A:RRM<D+!CC6HBPU;<OR
MS R3W A\W7;' I^6(B4YW#'$RRS#[&4**=U.C(&Q:[@GZT2H!C/P"[R&!8B'
MXH[)FME08I)!S@G-$8/5Q+@:7(9CU5]W>"2PY7MEI")94OJD*M?QQ+#4A""%
M2"@"EJ\-S"!-%4A.XW?--)HAE7"_O*-_UK'+6):8PXRF/T@LDHDQ-E ,*URF
MXIYNOT =SU#Q(IIR_43;JJ\[,E!4<D&S6BQGD)&\>N/GVH<]@>2T"^Q:8+\6
M>"<$3BUP7@O<$P*W%KC:F2H4[4.(!0Y\1K>(J=Z2I@K:3*V6X9-<+?M",/F5
M2)T(%@_3Q?S;P_SV.YH_RN<"O0M!8))R=(L9PVI5WJ./B">8 ?=-(<=42C.J
M^=.*;Y_@.^B&YB+A:)['$+?H9]WZ@=T!,&6P3<3V+N*IW4F\P>P".8,/R+;L
M8=N$NN4A1(W<;9&'_RYW.J)QFO5S-,\YM7[EDL/O$G*!YAOU_/E5]D#7 C+^
MJVVY*IS;CE.7S"4O< 030]XB'-@&C.#MFX%G?6JSJD]8V!/LP$:WL='MH@?S
M9V 1X8#H"D%6I/0% ,G#%STA6J@+JG7K=S+/];*">1JF+NM-,+;DSS<W^R:U
M]VHZ'00_;((?=@9_O(=N(%L":]T_G:AS8^X3%O8$.[#0:RST^CV&7I\V]@D+
M>X(=V#AJ;!QU[\2]$X<(YR7$J"QD&>KSV6;EZ.A(>*.C@S/K'/A<CWJ"'7@T
M;CP:_X>K:GQLTO#8I,Z1SS6I)UAEDKF7XF3 UCI5Y"BB92ZJ__ZFM<I&9S(;
MU5G;JW:9I5[IY,S\BZE27)D8K$G.40HKB;0N1O)"857:6%4$+70BM:1"IF6Z
MF,A,&YCJ(+^O*!6[BAJ@R=V#/U!+ P04    "  2@']:]^F<52\#  #N$@
M#0   'AL+W-T>6QE<RYX;6S=6%U/VS 4_2N1&1-($VF;$9K15MHJ(4W:)B1X
MV!MR&Z>UY-B9X[*67X^OG:8?^"+&PU;6"F+?XW/NL7V#+0:U60EV,V?,1,M2
MR'I(YL94G^*XGLY92>LS53%ID4+IDAK;U;.XKC2C>0VD4L2]3B>-2\HE&0WD
MHKPJ31U-U4*:(3EO0Y%_?,V'I)M^))&7&ZN<#<G=R?M?"V4NWT7^>?3AZ*AS
M=WJY'S]QP"F)@Z+G+Q ]ZW1P80 Q\?1EXL]I8](7N])N^+$5\L1CC-8/T&R6
M#1,ZCAPWFS(:%$IN]B8A/F#5:<FB>RJ&9$P%GV@.K(*67*Q\N >!J1)*1\86
MA4W7A4C]X.&N[T&]-#HEETJ[W#Z#_SUIAN\!ZQX8Y$*T!GO$!T:#BAK#M+RR
M'3?8!9] 4=.^7576X4S35;=W3C8$][!))DKG3+=INF0=&@T$*\".YK,Y/(VJ
M8@"-4:5MY)S.E*3.PYK1-*SLE EQ R_3SV)'>UEL[5L'=DVV36NH:7H9WP']
M;36OO2W;>Y5N5/%[9;XL['2DZT.!LFO-"KYT_671&L#4N[@ZK2JQ^BSX3);,
M3_[%"4<#NN9%<Z7Y@\T&I3*U :9)=,^TX=/MR&]-JUNV-.MR6A:XY]X;]/QW
MUWG&)--4;)NVM7_(J_QJQ\WI\R\\NS\K^XZ#)I.+P_?8G+B';C)]"R;?Q';W
M#]]DDAVDQ[@YO[<N"3M7A#8:P55L2'[ Q4YLDD:3!1>&RZ8WYWG.Y).;@I4W
M=&(O\SOZ=GS."KH0YK8%AV33_LYROBBS=M0U+$0S:M/^!M/KINT]T.;B,F=+
MEH^;KIY-7#.R#9NU^0!A'[ERGS""<3P61@##\F .,(YG87G^I_GTT?EX#//6
M#R)]E--'.9X50L;NB^4)<S+["<\TRY(D3;$5'8^##L;8NJ4I_(35,&_ P/)
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
MX^>A#K>>KS5>_SNI'B_GUMOEK\NOG9-[_(ISN*\8GO\"4$L#!!0    ( !*
M?UJ#T:P!+@(  $0Q   3    6T-O;G1E;G1?5'EP97-=+GAM;,W;36[;,!"&
MX:L8V@:6+%*DU"+.INVVS:(78"4Z%JP_D$SJW+Z4G 1HD1H)7*#OQH)-<KX1
M!WAVOO[^.%F_.O;=X+?)/H3I8Y;Y>F][X]-QLD-<V8VN-R%^=7?99.J#N;.9
MV&QT5H]#L$-8A[E&<G/]V>[,?1=67X[Q9]^.PS9QMO/)ZM-IXYRU3<PT=6UM
M0ES/'H;FCY3U4T(:3RY[_+Z=_%7<D&2O)LPK?P]X.O?MP3K7-G9U:USX:OJX
M*SMVF0^/G?7I^1*O]#CN=FUMF[&^[^.1U$_.FL;OK0U]EYZ*7IU/#O&&[>DS
MOSA_*7,N,.Z\=>/DX\2<?7_<\TCFT^LI%K(NM.=?\24QEK[X_>P\[<8V;\R.
MU_MS=(=E'CY;'I??\>\S?JG_SCX$I \)Z:. ]*$@?6A('R6DCPK2QP=('_F&
MT@A%U)Q":DXQ-:>@FE-4S2FLYA17<PJL.45609%54&05%%D%159!D5509!44
M605%5D&155!DE119)45629%54F25%%DE159)D5529)44625%UH(B:T&1M:#(
M6E!D+2BR%A19"XJL!476@B)K09%54615%%D5159%D5519%44615%5D6155%D
M5119-45639%54V35%%DU159-D5539-44635%5DV1M:3(6E)D+2FREA192XJL
M)476DB)K29&UI,A:4F2M*+)6%%DKBJP51=:*(FM%D;7ZG[+^&,?#/XY?GFEO
MVN$Y/UO^/''S"U!+ 0(4 Q0    ( !* ?UI&QTU(E0   ,T    0
M      "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ $H!_6L05
M[//R    *P(  !$              ( !PP   &1O8U!R;W!S+V-O<F4N>&UL
M4$L! A0#%     @ $H!_6IE<G",0!@  G"<  !,              ( !Y $
M 'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    "  2@']:NSU//2,*   [
M10  &               @($E"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
M4$L! A0#%     @ $H!_6K<YS*T4!P  01\  !@              ("!?A(
M 'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( !* ?UJ(KWB.
MN (  (<(   8              " @<@9  !X;"]W;W)K<VAE971S+W-H965T
M,RYX;6Q02P$"% ,4    "  2@']:L=TP/G((  #5)0  &
M@(&V'   >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ $H!_
M6LX'/H2("   TR8  !@              ("!7B4  'AL+W=O<FMS:&5E=',O
M<VAE970U+GAM;%!+ 0(4 Q0    ( !* ?UI02.HM\P8  *PO   8
M      " @1PN  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4
M"  2@']:5WN\8TT"  "?!0  &               @(%%-0  >&PO=V]R:W-H
M965T<R]S:&5E=#<N>&UL4$L! A0#%     @ $H!_6MY%>Q), @  D@8  !@
M             ("!R#<  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4
M Q0    ( !* ?UH'!2E,(P4  $4.   8              " @4HZ  !X;"]W
M;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4    "  2@']:VK-\/ X&  !*
M#0  &0              @(&C/P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM
M;%!+ 0(4 Q0    ( !* ?UH7Z9>*$2$  -!A   9              " @>A%
M  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ $H!_6E=Q
MS2^1 P  ( @  !D              ("!,&<  'AL+W=O<FMS:&5E=',O<VAE
M970Q,BYX;6Q02P$"% ,4    "  2@']:?$&D%'<"  !Y!0  &0
M    @('X:@  >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    (
M !* ?UKY!MLZ>@(  $D%   9              " @:9M  !X;"]W;W)K<VAE
M971S+W-H965T,30N>&UL4$L! A0#%     @ $H!_6L2J?-;8 P  F @  !D
M             ("!5W   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"
M% ,4    "  2@']:FT?.W9,#   8"   &0              @(%F=   >&PO
M=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( !* ?UI=%&UQD0(
M *X%   9              " @3!X  !X;"]W;W)K<VAE971S+W-H965T,3<N
M>&UL4$L! A0#%     @ $H!_6GK!8;0;!0  : L  !D              ("!
M^'H  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    "  2@']:
M#DUPC/L$  #,#0  &0              @(%*@   >&PO=V]R:W-H965T<R]S
M:&5E=#$Y+GAM;%!+ 0(4 Q0    ( !* ?UI1 ,$>_0,  !\(   9
M      " @7R%  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%
M  @ $H!_6N0'D.:Z"   F!,  !D              ("!L(D  'AL+W=O<FMS
M:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    "  2@']:; M2N. #  !4"
M&0              @(&AD@  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+
M 0(4 Q0    ( !* ?UKJ%;7:W04  .4,   9              " @;B6  !X
M;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#%     @ $H!_6OKE2UMP
M @  G04  !D              ("!S)P  'AL+W=O<FMS:&5E=',O<VAE970R
M-"YX;6Q02P$"% ,4    "  2@']:B%]4>=X$   0"P  &0
M@(%SGP  >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( !*
M?UH[TZ>:Z@@  !H3   9              " @8BD  !X;"]W;W)K<VAE971S
M+W-H965T,C8N>&UL4$L! A0#%     @ $H!_6K V+O\X @  [00  !D
M         ("!J:T  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4
M    "  2@']:NDME=W4B  #R;0  &0              @($8L   >&PO=V]R
M:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    ( !* ?UJLVL:5VP(  !8&
M   9              " @<32  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL
M4$L! A0#%     @ $H!_6E*0K7?& @  N08  !D              ("!UM4
M 'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    "  2@']:WB2T
MYGP"  !X!0  &0              @('3V   >&PO=V]R:W-H965T<R]S:&5E
M=#,Q+GAM;%!+ 0(4 Q0    ( !* ?UJE(*-D@ (  $X%   9
M  " @8;;  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @
M$H!_6FP[&UR@ P  %@@  !D              ("!/=X  'AL+W=O<FMS:&5E
M=',O<VAE970S,RYX;6Q02P$"% ,4    "  2@']:S@HX*9,#  ">"   &0
M            @($4X@  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4
M Q0    ( !* ?UIK:T 4E0(  *T%   9              " @=[E  !X;"]W
M;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%     @ $H!_6O&C=X&:!
ME@L  !D              ("!JN@  'AL+W=O<FMS:&5E=',O<VAE970S-BYX
M;6Q02P$"% ,4    "  2@']:S^V- 1D$  #7"   &0              @(%[
M[0  >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( !* ?UIM
MXLHEY 8  *00   9              " @<OQ  !X;"]W;W)K<VAE971S+W-H
M965T,S@N>&UL4$L! A0#%     @ $H!_6F(?G*Y< P  U0<  !D
M     ("!YO@  'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4
M"  2@']:$N-U"'L$  #O"@  &0              @(%Y_   >&PO=V]R:W-H
M965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( !* ?UH-9]C'!P,  ,,'   9
M              " @2L! 0!X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L!
M A0#%     @ $H!_6O[IK5G1!@  4P\  !D              ("!:00! 'AL
M+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4    "  2@']:;?ZGJ^ #
M   X%   &0              @(%Q"P$ >&PO=V]R:W-H965T<R]S:&5E=#0S
M+GAM;%!+ 0(4 Q0    ( !* ?UK%23S1/0,  "\.   9              "
M@8@/ 0!X;"]W;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ $H!_
M6D]KX=Z@!0  JR   !D              ("!_!(! 'AL+W=O<FMS:&5E=',O
M<VAE970T-2YX;6Q02P$"% ,4    "  2@']:I;)@>&<#  #/"P  &0
M        @('3& $ >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0
M   ( !* ?UJ<4+8T4@(  '<%   9              " @7$< 0!X;"]W;W)K
M<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @ $H!_6J)A)R*! @  6P8
M !D              ("!^AX! 'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q0
M2P$"% ,4    "  2@']:14@Q/X "  !%!@  &0              @(&R(0$
M>&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    ( !* ?UJO0OQF
MG 4  (XC   9              " @6DD 0!X;"]W;W)K<VAE971S+W-H965T
M-3 N>&UL4$L! A0#%     @ $H!_6N//K+"8 @  >08  !D
M ("!/"H! 'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    "  2
M@']:K]^JF24#  #("0  &0              @($++0$ >&PO=V]R:W-H965T
M<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( !* ?UK= 6"O6P(  .H%   9
M          " @6<P 0!X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#
M%     @ $H!_6G<Z7G]S @  O 4  !D              ("!^3(! 'AL+W=O
M<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4    "  2@']:W(*CAAX"  #Q
M!   &0              @(&C-0$ >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM
M;%!+ 0(4 Q0    ( !* ?UI-3-Y2[ (  "T+   9              " @?@W
M 0!X;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L! A0#%     @ $H!_6O\4
MYVE9 @  Z@4  !D              ("!&SL! 'AL+W=O<FMS:&5E=',O<VAE
M970U-RYX;6Q02P$"% ,4    "  2@']:\%.T@4,#  #S"0  &0
M    @(&K/0$ >&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    (
M !* ?UI]X+-(N@(  * )   9              " @25! 0!X;"]W;W)K<VAE
M971S+W-H965T-3DN>&UL4$L! A0#%     @ $H!_6NZV'1[H @  ( <  !D
M             ("!%D0! 'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"
M% ,4    "  2@']:Z(D1XW,%  #>*@  &0              @($U1P$ >&PO
M=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    ( !* ?UIK-R?"VP8
M /\Z   9              " @=], 0!X;"]W;W)K<VAE971S+W-H965T-C(N
M>&UL4$L! A0#%     @ $H!_6C$@6@S@!   H!X  !D              ("!
M\5,! 'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    "  2@']:
MN,ZG?QT%  !X(   &0              @($(60$ >&PO=V]R:W-H965T<R]S
M:&5E=#8T+GAM;%!+ 0(4 Q0    ( !* ?UJ<'62I@P(  %$&   9
M      " @5Q> 0!X;"]W;W)K<VAE971S+W-H965T-C4N>&UL4$L! A0#%
M  @ $H!_6BAC: /' P  K@P  !D              ("!%F$! 'AL+W=O<FMS
M:&5E=',O<VAE970V-BYX;6Q02P$"% ,4    "  2@']:L!N(JA0$  "]#
M&0              @($490$ >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+
M 0(4 Q0    ( !* ?UJ/>4BV+@0  $<1   9              " @5]I 0!X
M;"]W;W)K<VAE971S+W-H965T-C@N>&UL4$L! A0#%     @ $H!_6I1MEEZV
M P  4A0  !D              ("!Q&T! 'AL+W=O<FMS:&5E=',O<VAE970V
M.2YX;6Q02P$"% ,4    "  2@']:DO]#!S0$  !I$   &0
M@(&Q<0$ >&PO=V]R:W-H965T<R]S:&5E=#<P+GAM;%!+ 0(4 Q0    ( !*
M?UIE0K^&!0,  *X(   9              " @1QV 0!X;"]W;W)K<VAE971S
M+W-H965T-S$N>&UL4$L! A0#%     @ $H!_6J-W<DYE @  I@4  !D
M         ("!6'D! 'AL+W=O<FMS:&5E=',O<VAE970W,BYX;6Q02P$"% ,4
M    "  2@']:)F4_(5L"  #0!0  &0              @('T>P$ >&PO=V]R
M:W-H965T<R]S:&5E=#<S+GAM;%!+ 0(4 Q0    ( !* ?UI/_-&:004  %X=
M   9              " @89^ 0!X;"]W;W)K<VAE971S+W-H965T-S0N>&UL
M4$L! A0#%     @ $H!_6G)J67<_ P  BPL  !D              ("!_H,!
M 'AL+W=O<FMS:&5E=',O<VAE970W-2YX;6Q02P$"% ,4    "  2@']:$O]-
MED(#   /"P  &0              @(%TAP$ >&PO=V]R:W-H965T<R]S:&5E
M=#<V+GAM;%!+ 0(4 Q0    ( !* ?UHGD2&T/P0  ,L1   9
M  " @>V* 0!X;"]W;W)K<VAE971S+W-H965T-S<N>&UL4$L! A0#%     @
M$H!_6M*8UV"- P  D X  !D              ("!8X\! 'AL+W=O<FMS:&5E
M=',O<VAE970W."YX;6Q02P$"% ,4    "  2@']:AP(]JM0#  "E#0  &0
M            @($GDP$ >&PO=V]R:W-H965T<R]S:&5E=#<Y+GAM;%!+ 0(4
M Q0    ( !* ?UI8T"?_K0,  +@,   9              " @3*7 0!X;"]W
M;W)K<VAE971S+W-H965T.# N>&UL4$L! A0#%     @ $H!_6K"6F3HH!
MV!   !D              ("!%IL! 'AL+W=O<FMS:&5E=',O<VAE970X,2YX
M;6Q02P$"% ,4    "  2@']:\_BNH,$)   B.0  &0              @(%U
MGP$ >&PO=V]R:W-H965T<R]S:&5E=#@R+GAM;%!+ 0(4 Q0    ( !* ?UJ4
M@+\F*@,  "\+   9              " @6VI 0!X;"]W;W)K<VAE971S+W-H
M965T.#,N>&UL4$L! A0#%     @ $H!_6JE4D5;E @  ? H  !D
M     ("!SJP! 'AL+W=O<FMS:&5E=',O<VAE970X-"YX;6Q02P$"% ,4
M"  2@']:79?A@P #  !+"0  &0              @('JKP$ >&PO=V]R:W-H
M965T<R]S:&5E=#@U+GAM;%!+ 0(4 Q0    ( !* ?UJR!4NP] (  ,<+   9
M              " @2&S 0!X;"]W;W)K<VAE971S+W-H965T.#8N>&UL4$L!
M A0#%     @ $H!_6O?IG%4O P  [A(   T              ( !3+8! 'AL
M+W-T>6QE<RYX;6Q02P$"% ,4    "  2@']:EXJ[',     3 @  "P
M        @ &FN0$ 7W)E;',O+G)E;'-02P$"% ,4    "  2@']:\3#.4[\&
M   K.   #P              @ &/N@$ >&PO=V]R:V)O;VLN>&UL4$L! A0#
M%     @ $H!_6E(UQJ.* @  N3(  !H              ( !>\$! 'AL+U]R
M96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ $H!_6H/1K $N @
M1#$  !,              ( !/<0! %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&
2     %X 7@#)&0  G,8!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<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>105
<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>107
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>227</ContextCount>
  <ElementCount>385</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>78</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Consolidated Statements of Income and Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Income and Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StatementsOfStockholdersEquity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure</Role>
      <ShortName>Cybersecurity Risk Management and Strategy Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>999014 - Disclosure - BASIS OF PRESENTATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentation</Role>
      <ShortName>BASIS OF PRESENTATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>999015 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>999016 - Disclosure - LEASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Leases</Role>
      <ShortName>LEASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>999017 - Disclosure - ACCOUNTS RECEIVABLE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivable</Role>
      <ShortName>ACCOUNTS RECEIVABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>999018 - Disclosure - INVENTORIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Inventories</Role>
      <ShortName>INVENTORIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>999019 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>999020 - Disclosure - GOODWILL AND INTANGIBLE ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>999021 - Disclosure - LONG TERM DEPOSITS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDeposits</Role>
      <ShortName>LONG TERM DEPOSITS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>999022 - Disclosure - INVESTMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Investments</Role>
      <ShortName>INVESTMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>999023 - Disclosure - LINE OF CREDIT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LineOfCredit</Role>
      <ShortName>LINE OF CREDIT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>999024 - Disclosure - LONG TERM DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebt</Role>
      <ShortName>LONG TERM DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>999025 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>999026 - Disclosure - INCOME PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomePerShare</Role>
      <ShortName>INCOME PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>999027 - Disclosure - STOCK OPTIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptions</Role>
      <ShortName>STOCK OPTIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>999028 - Disclosure - CAPITAL STOCK</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStock</Role>
      <ShortName>CAPITAL STOCK</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>999029 - Disclosure - NON-CONTROLLING INTERESTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterests</Role>
      <ShortName>NON-CONTROLLING INTERESTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>999030 - Disclosure - SEGMENTS AND</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentsAnd</Role>
      <ShortName>SEGMENTS AND</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>999031 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>999032 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>999033 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>999034 - Disclosure - LEASES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LeasesTables</Role>
      <ShortName>LEASES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Leases</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>999035 - Disclosure - ACCOUNTS RECEIVABLE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivableTables</Role>
      <ShortName>ACCOUNTS RECEIVABLE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/AccountsReceivable</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>999036 - Disclosure - INVENTORIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InventoriesTables</Role>
      <ShortName>INVENTORIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Inventories</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>999037 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>999038 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>999039 - Disclosure - LONG TERM DEPOSITS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDepositsTables</Role>
      <ShortName>LONG TERM DEPOSITS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>999040 - Disclosure - INVESTMENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InvestmentsTables</Role>
      <ShortName>INVESTMENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Investments</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>999041 - Disclosure - LONG TERM DEBT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebtTables</Role>
      <ShortName>LONG TERM DEBT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>999042 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomeTaxes</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>999043 - Disclosure - INCOME PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomePerShareTables</Role>
      <ShortName>INCOME PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomePerShare</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>999044 - Disclosure - STOCK OPTIONS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptionsTables</Role>
      <ShortName>STOCK OPTIONS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptions</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>999045 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsTables</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterests</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>999046 - Disclosure - SEGMENTS AND (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentsAndTables</Role>
      <ShortName>SEGMENTS AND (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentsAnd</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>999047 - Disclosure - BASIS OF PRESENTATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative</Role>
      <ShortName>BASIS OF PRESENTATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/BasisOfPresentation</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>999048 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails</Role>
      <ShortName>SCHEDULE OF METHOD OF DEPRECIATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>999049 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>999050 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails</Role>
      <ShortName>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>999051 - Disclosure - LEASES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LeasesDetailsNarrative</Role>
      <ShortName>LEASES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LeasesTables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>999052 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails</Role>
      <ShortName>SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>999053 - Disclosure - SCHEDULE OF INVENTORY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfInventoryDetails</Role>
      <ShortName>SCHEDULE OF INVENTORY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>999054 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails</Role>
      <ShortName>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>999055 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>999056 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>999057 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails</Role>
      <ShortName>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>999058 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>999059 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails</Role>
      <ShortName>SCHEDULE OF LONG TERM DEPOSITS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>999060 - Disclosure - SCHEDULE OF COMPANY???S INVESTMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails</Role>
      <ShortName>SCHEDULE OF COMPANY???S INVESTMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>999061 - Disclosure - SCHEDULE OF COMPANY???S INVESTMENTS (Details) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical</Role>
      <ShortName>SCHEDULE OF COMPANY???S INVESTMENTS (Details) (Parenthetical)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>999062 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails</Role>
      <ShortName>SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>999063 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical</Role>
      <ShortName>SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>999064 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails</Role>
      <ShortName>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>999065 - Disclosure - INVESTMENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InvestmentsDetailsNarrative</Role>
      <ShortName>INVESTMENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/InvestmentsTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>999066 - Disclosure - LINE OF CREDIT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative</Role>
      <ShortName>LINE OF CREDIT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LineOfCredit</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>999067 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails</Role>
      <ShortName>SCHEDULE OF LONG TERM DEBT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>999068 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical</Role>
      <ShortName>SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>999069 - Disclosure - SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails</Role>
      <ShortName>SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>999070 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails</Role>
      <ShortName>SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>999071 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails</Role>
      <ShortName>SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>999072 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails</Role>
      <ShortName>SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>999073 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails</Role>
      <ShortName>SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>999074 - Disclosure - INCOME TAXES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>INCOME TAXES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomeTaxesTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>999075 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails</Role>
      <ShortName>SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>999076 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails</Role>
      <ShortName>SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>999077 - Disclosure - INCOME PER SHARE (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative</Role>
      <ShortName>INCOME PER SHARE (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/IncomePerShareTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>999078 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>999079 - Disclosure - SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails</Role>
      <ShortName>SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>999080 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>999081 - Disclosure - STOCK OPTIONS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptionsDetailsNarrative</Role>
      <ShortName>STOCK OPTIONS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptionsTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>999082 - Disclosure - CAPITAL STOCK (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStockDetailsNarrative</Role>
      <ShortName>CAPITAL STOCK (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/CapitalStock</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>999083 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails</Role>
      <ShortName>SCHEDULE OF DISTRIBUTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>999084 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails</Role>
      <ShortName>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>999085 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterestsTables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>999086 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails</Role>
      <ShortName>SCHEDULE OF REPORTABLE SEGMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>999087 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails</Role>
      <ShortName>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>999088 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails</Role>
      <ShortName>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>999089 - Disclosure - SEGMENTS AND (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative</Role>
      <ShortName>SEGMENTS AND (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentsAndTables</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>999090 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>SUBSEQUENT EVENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SubsequentEvents</ParentRole>
      <Position>86</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="form10-k.htm">form10-k.htm</File>
    <File>fsi-20241231.xsd</File>
    <File>fsi-20241231_cal.xml</File>
    <File>fsi-20241231_def.xml</File>
    <File>fsi-20241231_lab.xml</File>
    <File>fsi-20241231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>audit_001.jpg</File>
    <File>audit_002.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="932">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/cyd/2024</BaseTaxonomy>
    <BaseTaxonomy items="44">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>110
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "form10-k.htm": {
   "nsprefix": "FSI",
   "nsuri": "http://flexiblesolutions.com/20241231",
   "dts": {
    "inline": {
     "local": [
      "form10-k.htm"
     ]
    },
    "schema": {
     "local": [
      "fsi-20241231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "fsi-20241231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fsi-20241231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "fsi-20241231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fsi-20241231_pre.xml"
     ]
    }
   },
   "keyStandard": 339,
   "keyCustom": 46,
   "axisStandard": 24,
   "axisCustom": 0,
   "memberStandard": 24,
   "memberCustom": 51,
   "hidden": {
    "total": 111,
    "http://fasb.org/us-gaap/2024": 103,
    "http://flexiblesolutions.com/20241231": 4,
    "http://xbrl.sec.gov/dei/2024": 4
   },
   "contextCount": 227,
   "entityCount": 1,
   "segmentCount": 78,
   "elementCount": 697,
   "unitCount": 5,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 932,
    "http://xbrl.sec.gov/dei/2024": 44,
    "http://xbrl.sec.gov/cyd/2024": 4,
    "http://xbrl.sec.gov/ecd/2024": 4
   },
   "report": {
    "R1": {
     "role": "http://flexiblesolutions.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://flexiblesolutions.com/role/BalanceSheets",
     "longName": "00000002 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://flexiblesolutions.com/role/BalanceSheetsParenthetical",
     "longName": "00000003 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome",
     "longName": "00000004 - Statement - Consolidated Statements of Income and Comprehensive Income",
     "shortName": "Consolidated Statements of Income and Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SalariesAndWages",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://flexiblesolutions.com/role/StatementsOfCashFlows",
     "longName": "00000005 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31",
      "name": "us-gaap:GainLossOnSaleOfPropertyPlantEquipment",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity",
     "longName": "00000006 - Statement - Consolidated Statements of Stockholders' Equity",
     "shortName": "Consolidated Statements of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2024-10-012024-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-10-012024-12-31",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure",
     "longName": "995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure",
     "shortName": "Cybersecurity Risk Management and Strategy Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://flexiblesolutions.com/role/BasisOfPresentation",
     "longName": "999014 - Disclosure - BASIS OF PRESENTATION",
     "shortName": "BASIS OF PRESENTATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPolicies",
     "longName": "999015 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://flexiblesolutions.com/role/Leases",
     "longName": "999016 - Disclosure - LEASES",
     "shortName": "LEASES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://flexiblesolutions.com/role/AccountsReceivable",
     "longName": "999017 - Disclosure - ACCOUNTS RECEIVABLE",
     "shortName": "ACCOUNTS RECEIVABLE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://flexiblesolutions.com/role/Inventories",
     "longName": "999018 - Disclosure - INVENTORIES",
     "shortName": "INVENTORIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds",
     "longName": "999019 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets",
     "longName": "999020 - Disclosure - GOODWILL AND INTANGIBLE ASSETS",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://flexiblesolutions.com/role/LongTermDeposits",
     "longName": "999021 - Disclosure - LONG TERM DEPOSITS",
     "shortName": "LONG TERM DEPOSITS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:LongTermDepositsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:LongTermDepositsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://flexiblesolutions.com/role/Investments",
     "longName": "999022 - Disclosure - INVESTMENTS",
     "shortName": "INVESTMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://flexiblesolutions.com/role/LineOfCredit",
     "longName": "999023 - Disclosure - LINE OF CREDIT",
     "shortName": "LINE OF CREDIT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://flexiblesolutions.com/role/LongTermDebt",
     "longName": "999024 - Disclosure - LONG TERM DEBT",
     "shortName": "LONG TERM DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://flexiblesolutions.com/role/IncomeTaxes",
     "longName": "999025 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://flexiblesolutions.com/role/IncomePerShare",
     "longName": "999026 - Disclosure - INCOME PER SHARE",
     "shortName": "INCOME PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://flexiblesolutions.com/role/StockOptions",
     "longName": "999027 - Disclosure - STOCK OPTIONS",
     "shortName": "STOCK OPTIONS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://flexiblesolutions.com/role/CapitalStock",
     "longName": "999028 - Disclosure - CAPITAL STOCK",
     "shortName": "CAPITAL STOCK",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterests",
     "longName": "999029 - Disclosure - NON-CONTROLLING INTERESTS",
     "shortName": "NON-CONTROLLING INTERESTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://flexiblesolutions.com/role/SegmentsAnd",
     "longName": "999030 - Disclosure - SEGMENTS AND",
     "shortName": "SEGMENTS AND",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://flexiblesolutions.com/role/SubsequentEvents",
     "longName": "999031 - Disclosure - SUBSEQUENT EVENTS",
     "shortName": "SUBSEQUENT EVENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies",
     "longName": "999032 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables",
     "longName": "999033 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://flexiblesolutions.com/role/LeasesTables",
     "longName": "999034 - Disclosure - LEASES (Tables)",
     "shortName": "LEASES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://flexiblesolutions.com/role/AccountsReceivableTables",
     "longName": "999035 - Disclosure - ACCOUNTS RECEIVABLE (Tables)",
     "shortName": "ACCOUNTS RECEIVABLE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://flexiblesolutions.com/role/InventoriesTables",
     "longName": "999036 - Disclosure - INVENTORIES (Tables)",
     "shortName": "INVENTORIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables",
     "longName": "999037 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables",
     "longName": "999038 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://flexiblesolutions.com/role/LongTermDepositsTables",
     "longName": "999039 - Disclosure - LONG TERM DEPOSITS (Tables)",
     "shortName": "LONG TERM DEPOSITS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://flexiblesolutions.com/role/InvestmentsTables",
     "longName": "999040 - Disclosure - INVESTMENTS (Tables)",
     "shortName": "INVESTMENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://flexiblesolutions.com/role/LongTermDebtTables",
     "longName": "999041 - Disclosure - LONG TERM DEBT (Tables)",
     "shortName": "LONG TERM DEBT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://flexiblesolutions.com/role/IncomeTaxesTables",
     "longName": "999042 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://flexiblesolutions.com/role/IncomePerShareTables",
     "longName": "999043 - Disclosure - INCOME PER SHARE (Tables)",
     "shortName": "INCOME PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://flexiblesolutions.com/role/StockOptionsTables",
     "longName": "999044 - Disclosure - STOCK OPTIONS (Tables)",
     "shortName": "STOCK OPTIONS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsTables",
     "longName": "999045 - Disclosure - NON-CONTROLLING INTERESTS (Tables)",
     "shortName": "NON-CONTROLLING INTERESTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "41",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://flexiblesolutions.com/role/SegmentsAndTables",
     "longName": "999046 - Disclosure - SEGMENTS AND (Tables)",
     "shortName": "SEGMENTS AND (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
     "longName": "999047 - Disclosure - BASIS OF PRESENTATION (Details Narrative)",
     "shortName": "BASIS OF PRESENTATION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_MendotaLLCMember",
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember",
      "name": "us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
     "longName": "999048 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "shortName": "SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-12-31_us-gaap_MachineryAndEquipmentMember",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_us-gaap_MachineryAndEquipmentMember",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
     "longName": "999049 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails",
     "longName": "999050 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "shortName": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://flexiblesolutions.com/role/LeasesDetailsNarrative",
     "longName": "999051 - Disclosure - LEASES (Details Narrative)",
     "shortName": "LEASES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingLeaseLeaseIncomeLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingLeaseLeaseIncomeLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails",
     "longName": "999052 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "shortName": "SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails",
     "longName": "999053 - Disclosure - SCHEDULE OF INVENTORY (Details)",
     "shortName": "SCHEDULE OF INVENTORY (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails",
     "longName": "999054 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "shortName": "SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative",
     "longName": "999055 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
     "longName": "999056 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "shortName": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R53": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails",
     "longName": "999057 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "shortName": "SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative",
     "longName": "999058 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails",
     "longName": "999059 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "shortName": "SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DepositsAssetsNoncurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R56": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
     "longName": "999060 - Disclosure - SCHEDULE OF COMPANY\u2019S INVESTMENTS (Details)",
     "shortName": "SCHEDULE OF COMPANY\u2019S INVESTMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_custom_LygosIncMember",
      "name": "us-gaap:Investments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical",
     "longName": "999061 - Disclosure - SCHEDULE OF COMPANY\u2019S INVESTMENTS (Details) (Parenthetical)",
     "shortName": "SCHEDULE OF COMPANY\u2019S INVESTMENTS (Details) (Parenthetical)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_custom_TrioOpportunityCorpMember",
      "name": "us-gaap:Investments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember",
      "name": "us-gaap:Investments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
     "longName": "999062 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "shortName": "SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_FloridaBasedLLCMember",
      "name": "us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical",
     "longName": "999063 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)",
     "shortName": "SCHEDULE OF EQUITY METHOD INVESTMENT (Details) (Parenthetical)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_custom_FloridaBasedLLCMember100479531",
      "name": "us-gaap:EquityMethodInvestmentOwnershipPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R60": {
     "role": "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails",
     "longName": "999064 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "shortName": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
     "longName": "999065 - Disclosure - INVESTMENTS (Details Narrative)",
     "shortName": "INVESTMENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ProceedsFromSaleOfLandHeldForUse",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_FloridaBasedLLCMember",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
     "longName": "999066 - Disclosure - LINE OF CREDIT (Details Narrative)",
     "shortName": "LINE OF CREDIT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:LinesOfCreditCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_custom_NoncontrollingInterestsMember_custom_StockBankMember",
      "name": "FSI:LoanGuaranteedRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:ShortTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
     "longName": "999067 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details)",
     "shortName": "SCHEDULE OF LONG TERM DEBT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_custom_StockYardsBankAndTrustMember",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical",
     "longName": "999068 - Disclosure - SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical)",
     "shortName": "SCHEDULE OF LONG TERM DEBT (Details) (Parenthetical)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RepaymentsOfLongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPMendotaMember",
      "name": "us-gaap:DebtInstrumentTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails",
     "longName": "999069 - Disclosure - SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)",
     "shortName": "SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
     "longName": "999070 - Disclosure - SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)",
     "shortName": "SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails",
     "longName": "999071 - Disclosure - SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)",
     "shortName": "SCHEDULE OF RECONCILIATION OF INCOME TAXES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
     "longName": "999072 - Disclosure - SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)",
     "shortName": "SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails",
     "longName": "999073 - Disclosure - SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)",
     "shortName": "SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_custom_TwoThousandThirtyTaxYearMember",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
     "longName": "999074 - Disclosure - INCOME TAXES (Details Narrative)",
     "shortName": "INCOME TAXES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "FSI:IncomeTaxRecovery",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingLossCarryforwardsLimitationsOnUse",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R71": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
     "longName": "999075 - Disclosure - SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)",
     "shortName": "SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R72": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails",
     "longName": "999076 - Disclosure - SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)",
     "shortName": "SCHEDULE OF ANTI-DILUTIVE OPTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
     "longName": "999077 - Disclosure - INCOME PER SHARE (Details Narrative)",
     "shortName": "INCOME PER SHARE (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember",
      "name": "us-gaap:PreferredStockSharesIssued",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember",
      "name": "us-gaap:PreferredStockSharesIssued",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
     "longName": "999078 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "shortName": "SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R75": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails",
     "longName": "999079 - Disclosure - SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details)",
     "shortName": "SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_WagesAndAdministrativeSalariesMember",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R76": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails",
     "longName": "999080 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "shortName": "SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
     "longName": "999081 - Disclosure - STOCK OPTIONS (Details Narrative)",
     "shortName": "STOCK OPTIONS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
     "longName": "999082 - Disclosure - CAPITAL STOCK (Details Narrative)",
     "shortName": "CAPITAL STOCK (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R79": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
     "longName": "999083 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)",
     "shortName": "SCHEDULE OF DISTRIBUTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfDistributionsTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
     "longName": "999084 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "shortName": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "name": "us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
     "longName": "999085 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)",
     "shortName": "NON-CONTROLLING INTERESTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PaymentsToMinorityShareholders",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember",
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R82": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
     "longName": "999086 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "shortName": "SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_custom_SegmentMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R83": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
     "longName": "999087 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "shortName": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-12-31_country_CA",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    },
    "R84": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
     "longName": "999088 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)",
     "shortName": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative",
     "longName": "999089 - Disclosure - SEGMENTS AND (Details Narrative)",
     "shortName": "SEGMENTS AND (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative",
     "longName": "999090 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)",
     "shortName": "SUBSEQUENT EVENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-01-012025-03-31_us-gaap_SubsequentEventMember",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-k.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsAndNotesReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsAndNotesReceivableNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total accounts receivable",
        "label": "Accounts and Financing Receivable, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of accounts and financing receivable. Includes, but is not limited to, notes and loan receivable."
       }
      }
     },
     "auth_ref": [
      "r985",
      "r1059"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r798"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ACCOUNTS RECEIVABLE",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r989"
     ]
    },
    "us-gaap_AccountsReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableGross",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r288",
      "r289",
      "r1059"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r739"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable related parties",
        "verboseLabel": "Accounts receivable, after allowance for credit loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r682",
      "r738",
      "r821",
      "r1058",
      "r1059"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net (Note 4)",
        "verboseLabel": "Accounts receivable",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r985"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Depreciation",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r179",
      "r593"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r22",
      "r89",
      "r189",
      "r587",
      "r633",
      "r634"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r14",
      "r22",
      "r488",
      "r491",
      "r528",
      "r629",
      "r630",
      "r958",
      "r959",
      "r960",
      "r972",
      "r973",
      "r974",
      "r975"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r889"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital in excess of par value",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r798",
      "r1097"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r52",
      "r394"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r856",
      "r867",
      "r881",
      "r907"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r859",
      "r870",
      "r884",
      "r910"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r902"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "auth_ref": [
      "r860",
      "r871",
      "r885",
      "r902",
      "r911",
      "r915",
      "r923"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "auth_ref": [
      "r921"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowances for doubtful accounts",
        "label": "Allowance for Doubtful Accounts, Premiums and Other Receivables",
        "documentation": "The valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet."
       }
      }
     },
     "auth_ref": [
      "r986"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization",
        "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."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r320",
      "r322",
      "r774"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnti-dilutiveOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Anti-dilutive options",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r243"
     ]
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r479"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Assets",
        "periodEndLabel": "Assets",
        "label": "Assets [Default Label]",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r150",
      "r182",
      "r216",
      "r248",
      "r257",
      "r275",
      "r279",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r481",
      "r485",
      "r501",
      "r581",
      "r687",
      "r767",
      "r768",
      "r798",
      "r828",
      "r1012",
      "r1013",
      "r1046"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r174",
      "r193",
      "r216",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r481",
      "r485",
      "r501",
      "r798",
      "r1012",
      "r1013",
      "r1046"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r840",
      "r842",
      "r863"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r840",
      "r842",
      "r863"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r840",
      "r842",
      "r863"
     ]
    },
    "dei_AuditorOpinionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorOpinionTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Opinion [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r937"
     ]
    },
    "us-gaap_AutomobilesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AutomobilesMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Automobiles [Member]",
        "documentation": "Vehicles that are used primarily for transporting people."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r918"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r919"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "auth_ref": [
      "r914"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r917"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r916"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]"
       }
      }
     },
     "auth_ref": [
      "r915"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r915"
     ]
    },
    "FSI_BCPAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "BCPAMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BCPA [Member]",
        "documentation": "BCPA [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and Building Improvements [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BASIS OF PRESENTATION",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r111",
      "r112"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "CA",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CanadaRevenueAgencyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CanadaRevenueAgencyMember",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada Revenue Agency [Member]",
        "documentation": "Designated tax department of the government of Canada."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_CapitalInExcessOfParValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "CapitalInExcessOfParValueMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital in Excess of Par Value [Member]",
        "documentation": "Capital in Excess of Par Value [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r585",
      "r658",
      "r681",
      "r798",
      "r828",
      "r950"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r177",
      "r756"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and term deposits is comprised of:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and term deposits, beginning of year",
        "periodEndLabel": "Cash and cash equivalents, ending",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r108",
      "r213"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase in cash and term deposits",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r108"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r185",
      "r186",
      "r187",
      "r216",
      "r237",
      "r238",
      "r240",
      "r242",
      "r251",
      "r252",
      "r299",
      "r338",
      "r340",
      "r341",
      "r342",
      "r345",
      "r346",
      "r365",
      "r366",
      "r368",
      "r371",
      "r377",
      "r501",
      "r639",
      "r640",
      "r641",
      "r642",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r659",
      "r673",
      "r696",
      "r715",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r942",
      "r967",
      "r976"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "FSI_Commissions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "Commissions",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commissions",
        "documentation": "Commissions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies (Notes 9 and 10)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r140",
      "r584",
      "r672"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingencies",
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r740"
     ]
    },
    "us-gaap_CommonClassBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonClassBMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Class B [Member]",
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r1101"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r818",
      "r819",
      "r820",
      "r822",
      "r823",
      "r824",
      "r825",
      "r972",
      "r973",
      "r975",
      "r1035",
      "r1090",
      "r1101"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r673"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r80",
      "r673",
      "r693",
      "r1101",
      "r1102"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, value",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r586",
      "r798"
     ]
    },
    "us-gaap_CommunicationsAndInformationTechnology": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommunicationsAndInformationTechnology",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Telecommunications",
        "documentation": "The amount of expense in the period for communications and data processing expense."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r899"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "us-gaap_CompensationRelatedCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationRelatedCostsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation",
        "documentation": "Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r127"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income attributable to controlling interest",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r195",
      "r197",
      "r205",
      "r574",
      "r601",
      "r603"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Comprehensive income \u2013 non-controlling interest",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r55",
      "r58",
      "r195",
      "r197",
      "r204",
      "r573",
      "r601",
      "r602"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r132",
      "r195",
      "r197",
      "r203",
      "r572",
      "r601"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35",
      "r60",
      "r61",
      "r286",
      "r739"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35",
      "r60",
      "r61",
      "r286",
      "r636",
      "r739"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35",
      "r60",
      "r61",
      "r286",
      "r739",
      "r947"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk Management",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r159"
     ]
    },
    "FSI_ConcentrationRiskThresholdPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ConcentrationRiskThresholdPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration risk threshold percentage",
        "documentation": "Concentration Risk Threshold Percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35",
      "r60",
      "r61",
      "r286",
      "r739"
     ]
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less-than-Wholly-Owned Subsidiary, Parent Ownership Interest, Effect of Change [Table]",
        "documentation": "Disclosure of information about effect of change in parent's ownership interest in subsidiary on equity attributable to parent. Excludes change from deconsolidation of subsidiary."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r59"
     ]
    },
    "FSI_ConsultantStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ConsultantStockOptionMember",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant Stock Option [Member]",
        "documentation": "Consultant Stock Option [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ConsultantsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ConsultantsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultants [Member]",
        "documentation": "Consultants [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_Consulting": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "Consulting",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consulting",
        "documentation": "Consulting."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ConsultingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ConsultingMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consulting [Member]",
        "documentation": "Consulting [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales (Note 6 &amp; 7)",
        "verboseLabel": "Cost of sales",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r95",
      "r539"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CountryRegion",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "FSI_CurrentTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current tax, federal",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r948",
      "r970",
      "r1030"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "FSI_CurrentTax",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current tax, foreign",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r948",
      "r970"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      },
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Current income tax expense",
        "totalLabel": "Current tax, total expense",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r970"
     ]
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "FSI_CurrentTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current tax, state",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r948",
      "r970",
      "r1030"
     ]
    },
    "FSI_CurrentTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "CurrentTax",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current tax expense",
        "documentation": "Current tax.",
        "label": "CurrentTax"
       }
      }
     },
     "auth_ref": []
    },
    "cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r850",
      "r933"
     ]
    },
    "cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskBoardOfDirectorsOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Board of Directors Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r850",
      "r933"
     ]
    },
    "cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Positions or Committees Responsible [Flag]"
       }
      }
     },
     "auth_ref": [
      "r852",
      "r935"
     ]
    },
    "cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Positions or Committees Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r852",
      "r935"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r845",
      "r928"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesIntegratedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesIntegratedFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Processes Integrated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r846",
      "r929"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesIntegratedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Processes Integrated [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r846",
      "r929"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Abstract]"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r927"
     ]
    },
    "cyd_CybersecurityRiskManagementThirdPartyEngagedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementThirdPartyEngagedFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Third Party Engaged [Flag]"
       }
      }
     },
     "auth_ref": [
      "r847",
      "r930"
     ]
    },
    "cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Flag]"
       }
      }
     },
     "auth_ref": [
      "r849",
      "r932"
     ]
    },
    "cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r849",
      "r932"
     ]
    },
    "cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r850",
      "r933"
     ]
    },
    "cyd_CybersecurityRiskRoleOfManagementTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskRoleOfManagementTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Role of Management [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r851",
      "r934"
     ]
    },
    "cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Third Party Oversight and Identification Processes [Flag]"
       }
      }
     },
     "auth_ref": [
      "r848",
      "r931"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r68",
      "r69",
      "r137",
      "r139",
      "r219",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r797",
      "r968",
      "r1004",
      "r1005",
      "r1006",
      "r1041",
      "r1042"
     ]
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt face amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r347",
      "r514",
      "r515",
      "r776",
      "r777",
      "r797"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "verboseLabel": "Interest rate",
        "terseLabel": "Debt interest rate",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r348"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r219",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r797",
      "r968",
      "r1004",
      "r1005",
      "r1006",
      "r1041",
      "r1042"
     ]
    },
    "us-gaap_DebtInstrumentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentTerm",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt instrument term",
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax, federal",
        "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."
       }
      }
     },
     "auth_ref": [
      "r970",
      "r1029",
      "r1030"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax, foreign",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r970",
      "r1029"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset (Note 12)",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r433",
      "r434"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      },
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Deferred income tax (expense) benefit",
        "label": "Deferred income tax expense (recovery)",
        "totalLabel": "Deferred income tax, total expense (benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r165",
      "r970"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "FSI_DeferredTaxAssetsLiabilities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Deferred tax liability",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77",
      "r138",
      "r453"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net deferred income tax liability (Note 12)",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r433",
      "r434",
      "r582"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxesAndTaxCreditsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes (Note 12)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r954"
     ]
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax, state",
        "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."
       }
      }
     },
     "auth_ref": [
      "r970",
      "r1029",
      "r1030"
     ]
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred tax asset",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "FSI_DeferredTaxAssetsLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "DeferredTaxAssetsLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax asset (liability)",
        "documentation": "Net deferred tax asset (liability).",
        "label": "DeferredTaxAssetsLiabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "FSI_DeferredTaxAssetsLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax asset",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1025"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1027"
     ]
    },
    "FSI_DeferredTaxAssetsPropertyPlantsAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "DeferredTaxAssetsPropertyPlantsAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, equipment and leaseholds",
        "documentation": "Deferred tax assets property plants and equipment."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_DeferredTaxAssetsPropertyPlantsAndEquipmentOne": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "DeferredTaxAssetsPropertyPlantsAndEquipmentOne",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property, equipment and leaseholds",
        "documentation": "Deferred tax assets property plants and equipment.",
        "label": "DeferredTaxAssetsPropertyPlantsAndEquipmentOne"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_DeferredTaxAssetsShareIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "DeferredTaxAssetsShareIssuanceCosts",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share issuance costs",
        "documentation": "Deferred tax assets share issuance costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Valuation allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r455"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Intangible assets",
        "label": "Deferred Tax Liabilities, Goodwill and Intangible Assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets including goodwill."
       }
      }
     },
     "auth_ref": [
      "r1027"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesInvestments",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Investments",
        "label": "Deferred Tax Liabilities, Investments",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from investments (excludes investments in subsidiaries and equity method investments)."
       }
      }
     },
     "auth_ref": [
      "r1027"
     ]
    },
    "us-gaap_Deposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Deposits",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits",
        "documentation": "The aggregate of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others."
       }
      }
     },
     "auth_ref": [
      "r136"
     ]
    },
    "us-gaap_DepositsAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepositsAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term deposits (Note 2)",
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter."
       }
      }
     },
     "auth_ref": [
      "r957"
     ]
    },
    "us-gaap_DepositsAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepositsAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term deposits (Note 8)",
        "verboseLabel": "Long term deposits",
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r953"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r43"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "verboseLabel": "Depreciation (included in COGS)",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r43"
     ]
    },
    "FSI_DepreciationMethodUsedAndAnnualRate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "DepreciationMethodUsedAndAnnualRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation method used and annual rate",
        "documentation": "Depreciation method used and annual rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1002",
      "r1003"
     ]
    },
    "FSI_DisclosureLeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "DisclosureLeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases",
        "verboseLabel": "Summary Of Right-of-use Asset And Lease Liability"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_DisclosureLongTermDepositsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "DisclosureLongTermDepositsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Deposits",
        "verboseLabel": "Schedule Of Long Term Deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK OPTIONS",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r392",
      "r396",
      "r423",
      "r424",
      "r426",
      "r785"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Dividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Dividends",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Dividends",
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r124"
     ]
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsPayableAmountPerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends per share",
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r840",
      "r842",
      "r863"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r840",
      "r842",
      "r863",
      "r903"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r829"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r888"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "FSI_ENPInvestmentsAndENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPInvestmentsAndENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments And 317 ENP Mendota [Member]",
        "documentation": "ENP Investments And 317 ENP Mendota [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPInvestmentsLLCAndENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPInvestmentsLLCAndENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments LLC and ENP Mendota [Member]",
        "documentation": "ENP Investments LLC and ENP Mendota [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPInvestmentsLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPInvestmentsLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments, LLC [Member]",
        "documentation": "ENP Investments LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Mendota, LLC [Member]",
        "documentation": "ENP Mendota, LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruInvestmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPPeruInvestmentsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru Investments [Member]",
        "documentation": "ENP Peru Investments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPPeruMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru [Member]",
        "documentation": "ENP Peru [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPPeruOneMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru One [Member]",
        "documentation": "ENP Peru One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ENPPeruTwoMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru Two [Member]",
        "documentation": "ENP Peru Two [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EWCPMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "EWCPMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "EWCP [Member]",
        "documentation": "EWCP [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per share (basic)",
        "verboseLabel": "Net income per common share attributable to controlling interest: Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r235",
      "r237",
      "r240",
      "r241",
      "r242",
      "r247",
      "r475",
      "r478",
      "r495",
      "r496",
      "r575",
      "r604",
      "r760"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per share (diluted)",
        "verboseLabel": "Net income per common share attributable to controlling interest: Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r237",
      "r240",
      "r241",
      "r242",
      "r247",
      "r475",
      "r478",
      "r495",
      "r496",
      "r575",
      "r604",
      "r760"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r33",
      "r244"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r243",
      "r245",
      "r246"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of foreign exchange rate changes on cash",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1040"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US federal statutory tax rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r437",
      "r465",
      "r788"
     ]
    },
    "FSI_EligiblePercentageOfDomesticAccountsReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "EligiblePercentageOfDomesticAccountsReceivable",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Eligible percentage of domestic accounts receivable",
        "documentation": "Eligible percentage of domestic accounts receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock vested compensation non vested",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r425"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average period expected to be recognized",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r425"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EmployeesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "EmployeesMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employees [Member]",
        "documentation": "Employees [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r940"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r936"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r938"
     ]
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Major Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r170",
      "r199",
      "r200",
      "r201",
      "r220",
      "r221",
      "r222",
      "r224",
      "r229",
      "r231",
      "r233",
      "r250",
      "r301",
      "r302",
      "r326",
      "r378",
      "r463",
      "r464",
      "r472",
      "r473",
      "r474",
      "r476",
      "r477",
      "r478",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r494",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r516",
      "r519",
      "r528",
      "r600",
      "r629",
      "r630",
      "r631",
      "r647",
      "r715"
     ]
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "EquityMethodInvesteeNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical"
     ],
     "auth_ref": [
      "r295",
      "r296",
      "r298",
      "r471",
      "r943",
      "r944",
      "r945",
      "r1031",
      "r1032",
      "r1033",
      "r1034"
     ]
    },
    "us-gaap_EquityMethodInvestmentDividendsOrDistributions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentDividendsOrDistributions",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distribution received",
        "label": "Proceeds from Equity Method Investment, Distribution",
        "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."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r9",
      "r92",
      "r595"
     ]
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership percentage",
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting."
       }
      }
     },
     "auth_ref": [
      "r295"
     ]
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company's proportionate share of earnings",
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment."
       }
      }
     },
     "auth_ref": [
      "r963",
      "r964",
      "r966"
     ]
    },
    "FSI_EquityMethodInvestmentRemainingPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "EquityMethodInvestmentRemainingPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership remaining percentage",
        "documentation": "Equity method investment remaining percentage."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EquityMethodInvestmentSale": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "EquityMethodInvestmentSale",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of 30.1% of interest sold",
        "documentation": "Equity method investment sale."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments (Note 9)",
        "verboseLabel": "Total",
        "periodStartLabel": "Balance, Beginning",
        "periodEndLabel": "Balance, Ending",
        "terseLabel": "Equity method investments",
        "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."
       }
      }
     },
     "auth_ref": [
      "r248",
      "r267",
      "r279",
      "r293",
      "r951",
      "r987"
     ]
    },
    "us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsAndJointVenturesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVESTMENTS",
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r297",
      "r300",
      "r945"
     ]
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments",
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r62",
      "r296"
     ]
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF EQUITY METHOD INVESTMENT",
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information."
       }
      }
     },
     "auth_ref": [
      "r294"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r896"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r856",
      "r867",
      "r881",
      "r907"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]"
       }
      }
     },
     "auth_ref": [
      "r853",
      "r864",
      "r878",
      "r904"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "FSI_ExpectedIncomeTaxRecovery": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ExpectedIncomeTaxRecovery",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected income tax expense",
        "documentation": "Expected income tax recovery."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Extension",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "FSI_FederalAndStatedIncomeTaxMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "FederalAndStatedIncomeTaxMember",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal And Stated Income Tax [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivablePercentPastDue1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancingReceivablePercentPastDue1",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale percentage",
        "documentation": "Percentage of financing receivable balance that is past due."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivablesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancingReceivablesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCOUNTS RECEIVABLE",
        "documentation": "The entire disclosure for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r290",
      "r291",
      "r292",
      "r772"
     ]
    },
    "us-gaap_FiniteLivedCustomerListsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedCustomerListsGross",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Definite lived \u2013 customer lists",
        "documentation": "Amount, before amortization, of finite-lived asset representing customer list acquired in business combination, asset acquisition, and from joint venture formation."
       }
      }
     },
     "auth_ref": [
      "r952",
      "r999"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated amortization on definite-lived intangibles assets",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r308",
      "r321",
      "r774"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r752",
      "r774"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2029",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r752",
      "r774"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2028",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r752",
      "r774"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r752",
      "r774"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r752",
      "r774"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net definite-lived intangible assets",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r540",
      "r999"
     ]
    },
    "FSI_FirstTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "FirstTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "First Term [Member]",
        "documentation": "First Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_FloridaBasedLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "FloridaBasedLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Florida Based LLC [Member]",
        "documentation": "Florida Based LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Currency exchange",
        "label": "Gain (Loss), Foreign Currency Transaction, before Tax",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r503",
      "r504",
      "r505",
      "r506",
      "r712"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency",
        "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."
       }
      }
     },
     "auth_ref": [
      "r502"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r860",
      "r871",
      "r885",
      "r911"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r860",
      "r871",
      "r885",
      "r911"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r860",
      "r871",
      "r885",
      "r911"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r860",
      "r871",
      "r885",
      "r911"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Forgone Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r860",
      "r871",
      "r885",
      "r911"
     ]
    },
    "FSI_FourthTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "FourthTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fourth Term [Member]",
        "documentation": "Fourth Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnDispositionOfAssets1",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r966"
     ]
    },
    "us-gaap_GainLossOnInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnInvestments",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      },
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on investments (Note 9)",
        "negatedLabel": "Gain on investments",
        "documentation": "Amount of realized and unrealized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r102",
      "r941"
     ]
    },
    "us-gaap_GainLossOnInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnInvestmentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT",
        "documentation": "Tabular disclosure of realized and unrealized gain (loss) on investment in security."
       }
      }
     },
     "auth_ref": [
      "r963",
      "r964"
     ]
    },
    "us-gaap_GainLossOnSaleOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfInvestments",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      },
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss on sale of investment (Note 9)",
        "negatedLabel": "Loss on sale of investment",
        "documentation": "The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gain on sale of asset",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_GainLossOnTerminationOfLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnTerminationOfLease",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on terminating lease",
        "label": "Gain (Loss) on Termination of Lease",
        "documentation": "Amount of gain (loss) on termination of lease before expiration of lease term."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_GainsLossesOnSalesOfInvestmentRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainsLossesOnSalesOfInvestmentRealEstate",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "documentation": "The net gain (loss) resulting from sales and other disposals of real estate owned for investment purposes."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r154",
      "r156",
      "r963",
      "r964",
      "r966",
      "r1055",
      "r1100"
     ]
    },
    "us-gaap_GeneralInsuranceExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralInsuranceExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance",
        "documentation": "The expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales)."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill (Note 7)",
        "verboseLabel": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r309",
      "r571",
      "r768",
      "r773",
      "r791",
      "r798",
      "r991",
      "r992"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "GOODWILL AND INTANGIBLE ASSETS",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r990",
      "r993"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r990",
      "r993"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "verboseLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r96",
      "r149",
      "r216",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r501",
      "r762",
      "r767",
      "r978",
      "r980",
      "r981",
      "r982",
      "r983",
      "r1012"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r840",
      "r842",
      "r863"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "mpairment of Long-Lived Assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r119"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income before income tax - United States",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r217",
      "r436"
     ]
    },
    "FSI_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income before income tax",
        "documentation": "Income before income tax."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income tax",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r145",
      "r149",
      "r577",
      "r596",
      "r762",
      "r767",
      "r978",
      "r980",
      "r981",
      "r982",
      "r983"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income before income tax - Canada",
        "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."
       }
      }
     },
     "auth_ref": [
      "r217",
      "r436"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Axis]",
        "documentation": "Information by location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r329",
      "r330",
      "r498",
      "r499",
      "r500",
      "r626",
      "r628",
      "r699",
      "r752",
      "r792",
      "r1061"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r330",
      "r498",
      "r499",
      "r500",
      "r626",
      "r628",
      "r699",
      "r752",
      "r792",
      "r1061"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityNameAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority, Name [Axis]",
        "documentation": "Information by name of taxing authority."
       }
      }
     },
     "auth_ref": [
      "r449",
      "r1026"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": [
      "r449",
      "r1026"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r429",
      "r437",
      "r445",
      "r446",
      "r447",
      "r451",
      "r457",
      "r466",
      "r468",
      "r469",
      "r470",
      "r644",
      "r788"
     ]
    },
    "us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExaminationPenaltiesAndInterestAccrued",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued interest and penalties",
        "documentation": "The amount of estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations."
       }
      }
     },
     "auth_ref": [
      "r1022"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails",
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Total income taxes expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r166",
      "r232",
      "r233",
      "r248",
      "r265",
      "r279",
      "r435",
      "r437",
      "r467",
      "r606",
      "r788"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r431",
      "r432",
      "r451",
      "r452",
      "r456",
      "r461",
      "r638"
     ]
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in valuation allowance",
        "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 increase (decrease) in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r788",
      "r1020"
     ]
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign tax rate differential",
        "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 foreign income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r438",
      "r441",
      "r788",
      "r1020"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationNondeductibleExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-deductible items",
        "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 nondeductible expenses."
       }
      }
     },
     "auth_ref": [
      "r443",
      "r444",
      "r1020"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in estimates and other",
        "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 other adjustments."
       }
      }
     },
     "auth_ref": [
      "r788",
      "r1020",
      "r1021"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReconciliationOfIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State income tax expense, net of federal tax benefit",
        "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 state and local income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r440",
      "r788",
      "r1020"
     ]
    },
    "FSI_IncomeTaxRecovery": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "IncomeTaxRecovery",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfProvisionForIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income tax benefit",
        "label": "Current income tax expense",
        "documentation": "Income tax recovery."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes paid",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r212",
      "r458",
      "r459"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts payable",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes payable",
        "label": "Increase (Decrease) in Income Taxes Payable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued liabilities",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred revenue",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r537",
      "r965"
     ]
    },
    "us-gaap_IncreaseDecreaseInDepositOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInDepositOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Long term deposits",
        "label": "Increase (Decrease) in Deposit Assets",
        "documentation": "The increase (decrease) during the reporting period in moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and deposits",
        "label": "Increase (Decrease) in Prepaid Expense",
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "FSI_IncreaseDecreaseInSharePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "IncreaseDecreaseInSharePercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase decrease in share percentage",
        "documentation": "Increase decrease in share percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite lived \u2013 trade secrets and trademarks",
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r324",
      "r774"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r860",
      "r871",
      "r885",
      "r902",
      "r911",
      "r915",
      "r923"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "auth_ref": [
      "r921"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r843",
      "r926"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r843",
      "r926"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r843",
      "r926"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      },
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets (Note 7)",
        "totalLabel": "Total intangible assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r319",
      "r999",
      "r1001"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwillAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangibles Assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestExpenseOperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseOperating",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest expense",
        "documentation": "Amount of interest expense classified as operating."
       }
      }
     },
     "auth_ref": [
      "r261",
      "r576",
      "r961"
     ]
    },
    "us-gaap_InterestExpenseOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseOther",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense",
        "label": "Interest Expense, Other",
        "documentation": "Amount of interest expense classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestIncomeOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeOther",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income",
        "documentation": "Amount of interest income earned from interest bearing assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r210",
      "r211"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORIES",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r303"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Completed goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r955"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories (Note 5)",
        "totalLabel": "Total inventory",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r757",
      "r798"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories and Cost of Sales",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r176",
      "r190",
      "r303",
      "r304",
      "r305",
      "r538",
      "r759"
     ]
    },
    "us-gaap_InventoryRawMaterialsAndSupplies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsAndSupplies",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials and supplies",
        "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed."
       }
      }
     },
     "auth_ref": [
      "r956"
     ]
    },
    "us-gaap_InvestmentHoldingsScheduleOfInvestmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentHoldingsScheduleOfInvestmentsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF COMPANY\u2019S INVESTMENTS",
        "documentation": "Tabular disclosure of data and information required in the supplementary schedule applicable to management investment companies listing holdings of unaffiliated investments."
       }
      }
     },
     "auth_ref": [
      "r1091",
      "r1092",
      "r1093",
      "r1094",
      "r1095",
      "r1096"
     ]
    },
    "us-gaap_Investments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Investments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments, at cost:",
        "verboseLabel": "Investments",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments."
       }
      }
     },
     "auth_ref": [
      "r579",
      "r580",
      "r815",
      "r817"
     ]
    },
    "FSI_InvestorRelationsAndTransferAgentFee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "InvestorRelationsAndTransferAgentFee",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investor relations and transfer agent fee",
        "documentation": "Investor relations aand transfer agent fee."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LandMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land [Member]",
        "documentation": "Part of earth's surface not covered by water."
       }
      }
     },
     "auth_ref": [
      "r1016"
     ]
    },
    "FSI_LeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "LeaseInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease interest expense",
        "documentation": "Lease interest expense."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_LeaseTerminationFee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "LeaseTerminationFee",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on lease termination",
        "documentation": "Lease termination fee.",
        "label": "LeaseTerminationFee"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r526"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Leases",
        "label": "Lessee, Leases [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r524"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASES",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities",
        "label": "Liabilities [Default Label]",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r68",
      "r69",
      "r70",
      "r73",
      "r74",
      "r75",
      "r78",
      "r216",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r482",
      "r485",
      "r486",
      "r501",
      "r671",
      "r761",
      "r828",
      "r1012",
      "r1046",
      "r1047"
     ]
    },
    "us-gaap_LiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities and Stockholders\u2019 Equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r142",
      "r590",
      "r798",
      "r969",
      "r988",
      "r1039"
     ]
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r175",
      "r216",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r482",
      "r485",
      "r486",
      "r501",
      "r798",
      "r1012",
      "r1046",
      "r1047"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r72",
      "r968",
      "r1010",
      "r1011"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r72",
      "r968",
      "r1010"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r337",
      "r968",
      "r1010"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate amount of revolving line of credit",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r72"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r72",
      "r337",
      "r968",
      "r1010"
     ]
    },
    "us-gaap_LinesOfCreditCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LinesOfCreditCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short term line of credit (Note 10)",
        "verboseLabel": "Line of credit",
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r137"
     ]
    },
    "FSI_LoanGuaranteedRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "LoanGuaranteedRate",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan guaranteed rate",
        "documentation": "Loan guaranteed rate."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term debt",
        "totalLabel": "Total",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r139",
      "r354",
      "r363",
      "r776",
      "r777",
      "r797",
      "r1057"
     ]
    },
    "us-gaap_LongTermDebtAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Unclassified [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of lease liability (Note 3)",
        "negatedLabel": "Less: current portion",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r183"
     ]
    },
    "FSI_LongTermDebtLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "LongTermDebtLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LongTermDebtLineItems [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "Long-Term Debt, Maturity, Year One",
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r219",
      "r358"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thereafter",
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r219",
      "r358"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2028",
        "label": "Long-Term Debt, Maturity, Year Four",
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r219",
      "r358"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "label": "Long-Term Debt, Maturity, Year Three",
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r219",
      "r358"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAnnualFuturePrincipalPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "Long-Term Debt, Maturity, Year Two",
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r219",
      "r358"
     ]
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term debt (Note 11)",
        "verboseLabel": "Long-term debt non current",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r184"
     ]
    },
    "us-gaap_LongTermDebtPercentageBearingFixedInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtPercentageBearingFixedInterestRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate",
        "documentation": "The interest rate applicable to the portion of the carrying amount of long-term borrowings outstanding as of the balance sheet date, including current maturities, which accrues interest at a set, unchanging rate."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "FSI_LongTermDebtTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "LongTermDebtTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LongTermDebtTable [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTerm",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term debt, term",
        "documentation": "Period between issuance and maturity of long-term debt, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LONG TERM DEBT",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "FSI_LongTermDepositsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "LongTermDepositsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDeposits"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LONG TERM DEPOSITS",
        "documentation": "Long Term Deposits [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_LygosIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "LygosIncMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lygos Inc [Member]",
        "documentation": "Lygos Inc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r286",
      "r783",
      "r808",
      "r813",
      "r1015",
      "r1060",
      "r1062",
      "r1063",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "cyd_MaterialCybersecurityIncidentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident [Abstract]"
       }
      }
     },
     "auth_ref": [
      "r874",
      "r875"
     ]
    },
    "cyd_MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentInformationNotAvailableOrUndeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Information Not Available or Undetermined [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r874",
      "r876"
     ]
    },
    "cyd_MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentMaterialImpactOrReasonablyLikelyMaterialImpactTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Material Impact or Reasonably Likely Material Impact [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r874",
      "r877"
     ]
    },
    "cyd_MaterialCybersecurityIncidentNatureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentNatureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Nature [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r874",
      "r877"
     ]
    },
    "cyd_MaterialCybersecurityIncidentScopeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentScopeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Scope [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r874",
      "r877"
     ]
    },
    "cyd_MaterialCybersecurityIncidentTimingTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "MaterialCybersecurityIncidentTimingTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/MaterialCybersecurityIncidentDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Cybersecurity Incident Timing [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r874",
      "r877"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r391",
      "r427",
      "r497",
      "r536",
      "r625",
      "r627",
      "r635",
      "r663",
      "r664",
      "r721",
      "r723",
      "r725",
      "r726",
      "r728",
      "r750",
      "r751",
      "r772",
      "r780",
      "r784",
      "r793",
      "r794",
      "r795",
      "r796",
      "r809",
      "r1014",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "FSI_MendotaLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "MendotaLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "317 Mendota LLC [Member]",
        "documentation": "317 Mendota LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MinimumInterestPenalty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "MinimumInterestPenalty",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum interest penalty",
        "documentation": "Minimum interest penalty."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r391",
      "r427",
      "r497",
      "r536",
      "r625",
      "r627",
      "r635",
      "r663",
      "r664",
      "r721",
      "r723",
      "r725",
      "r726",
      "r728",
      "r750",
      "r751",
      "r772",
      "r780",
      "r784",
      "r793",
      "r794",
      "r795",
      "r809",
      "r1014",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053"
     ]
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interests (Note 16)",
        "periodStartLabel": "Non-controlling interests, Beginning balance",
        "periodEndLabel": "Non-controlling interests, Ending balance",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r141",
      "r216",
      "r299",
      "r338",
      "r340",
      "r341",
      "r342",
      "r345",
      "r346",
      "r501",
      "r589",
      "r675"
     ]
    },
    "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distributions to noncontrolling interests",
        "negatedTerseLabel": "Distribution",
        "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders",
        "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_MinorityInterestDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterests"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NON-CONTROLLING INTERESTS",
        "documentation": "The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock."
       }
      }
     },
     "auth_ref": [
      "r131"
     ]
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling interest percentage",
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related party owner ship percentage",
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r914"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r922"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "auth_ref": [
      "r286",
      "r783",
      "r808",
      "r813",
      "r1015",
      "r1060",
      "r1062",
      "r1063",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "FSI_NanoChemMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "NanoChemMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nano Chem [Member]",
        "documentation": "Nano Chem [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NanoChemOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "NanoChemOneMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nano Chem One [Member]",
        "documentation": "Nano Chem One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NanoChemSolutionIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "NanoChemSolutionIncMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NanoChem Solutions Inc [Member]",
        "documentation": "NanoChem Solutions Inc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NanoChemTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "NanoChemTwoMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nano Chem Two [Member]",
        "documentation": "Nano Chem Two [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash provided by (used in) financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r209"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r209"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r109",
      "r110"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income attributable to controlling interest",
        "label": "Net Income (Loss)",
        "verboseLabel": "Net income attributable to controlling interest",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r110",
      "r146",
      "r173",
      "r194",
      "r196",
      "r201",
      "r216",
      "r223",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r232",
      "r233",
      "r239",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r475",
      "r478",
      "r496",
      "r501",
      "r599",
      "r695",
      "r713",
      "r714",
      "r826",
      "r1012"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Net income attributable to non-controlling interests",
        "label": "Non-controlling interest share of income",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r134",
      "r194",
      "r196",
      "r229",
      "r232",
      "r233",
      "r598",
      "r960"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NewAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "NewAgreementMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Agreement [Member]",
        "documentation": "New Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r922"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r922"
     ]
    },
    "us-gaap_NoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestDecreaseFromDeconsolidation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Non-controlling interest share of loss",
        "label": "Noncontrolling Interest, Decrease from Deconsolidation",
        "documentation": "The amount of the reduction or elimination during the period of a noncontrolling interest resulting from the parent's loss of control and deconsolidation of the entity in which one or more outside parties had a noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r48"
     ]
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interest of 317 Mendota LLC",
        "documentation": "Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r48",
      "r133"
     ]
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Member]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r378",
      "r972",
      "r973",
      "r974",
      "r975",
      "r1101"
     ]
    },
    "FSI_NoncontrollingInterestsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "NoncontrollingInterestsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Noncontrolling Interest [Member]",
        "documentation": "Noncontrolling Interest [Member]",
        "label": "Noncontrolling Interest [Member] [Default Label]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total",
        "label": "Long-Lived Assets",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r285"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total non-operating income (expenses)",
        "label": "Nonoperating Income (Expense)",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-operating income (expense)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of operating segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r768",
      "r979"
     ]
    },
    "us-gaap_OfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OfficeEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office Equipment [Member]",
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OfficersCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OfficersCompensation",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Administrative salaries and benefits",
        "documentation": "Amount of expense for salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold."
       }
      }
     },
     "auth_ref": [
      "r962"
     ]
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Net operating income",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r149",
      "r762",
      "r978",
      "r980",
      "r981",
      "r982",
      "r983"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r1043"
     ]
    },
    "us-gaap_OperatingLeaseLeaseIncomeLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLeaseIncomeLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment of penalty",
        "documentation": "Amount of operating lease income from lease payments paid and payable to lessor. Excludes variable lease payments not included in measurement of lease receivable."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r527"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Lease liability, beginning balance",
        "periodEndLabel": "Lease liability, ending balance",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of long term debt (Note 11)",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "FSI_OperatingLeaseLiabilityEarlyTerminationOfLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "OperatingLeaseLiabilityEarlyTerminationOfLease",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lease liability, early termination of lease",
        "documentation": "Operating lease liability early termination of lease",
        "label": "OperatingLeaseLiabilityEarlyTerminationOfLease"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liability (Note 3)",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payments",
        "label": "Operating Lease, Payments",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r523",
      "r525"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right of use assets (Note 3)",
        "periodStartLabel": "Right of use assets, beginning balance",
        "periodEndLabel": "Right of use assets, ending balance",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r521"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Right of use assets, Amortization",
        "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r966"
     ]
    },
    "FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "OperatingLeaseRightOfUseAssetEarlyTerminationOfLease",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Right of use assets, early termination of lease",
        "documentation": "Right of use assets early termination of lease",
        "label": "OperatingLeaseRightOfUseAssetEarlyTerminationOfLease"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total",
        "verboseLabel": "Operating loss carryforward",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_OperatingLossCarryforwardsLimitationsOnUse": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLossCarryforwardsLimitationsOnUse",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Limited utilization",
        "documentation": "A description of the limitations on the use of all operating loss carryforwards available to reduce future taxable income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLossCarryforwardsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLossCarryforwardsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative",
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDeferredTaxAssetsLiabilitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards [Table]",
        "documentation": "Disclosure of information about operating loss carryforward. Includes, but is not limited to, tax authority, amount and expiration date of operating loss carryforward, and likelihood of utilization."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Translation adjustment",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r14",
      "r132"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrealized gain (loss) on foreign currency transactions",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r600"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherGeneralExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherGeneralExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office and miscellaneous",
        "verboseLabel": "Office &amp; Miscellaneous",
        "documentation": "Amount of general expenses not normally included in Other Operating Costs and Expenses."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r767"
     ]
    },
    "FSI_OtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "OtherMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other [Member]",
        "documentation": "Other [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r858",
      "r869",
      "r883",
      "r909"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r861",
      "r872",
      "r886",
      "r912"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Outstanding Recovery, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r861",
      "r872",
      "r886",
      "r912"
     ]
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "auth_ref": []
    },
    "FSI_OwnershipInterestPurchaseAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "OwnershipInterestPurchaseAgreementMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership Interest Purchase Agreement [Member]",
        "documentation": "Ownership Interest Purchase Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ParentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent [Member]",
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "auth_ref": [
      "r890"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Payments of Dividends",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r106"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireBusinessesAndInterestInAffiliates",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interests, Acquisition",
        "documentation": "The cash outflow associated with the acquisition of a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment)."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of investments",
        "label": "Payments to Acquire Investments",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of property and equipment",
        "negatedTerseLabel": "Capital expenditures",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToMinorityShareholders",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distribution to non-controlling interest",
        "label": "Partnership distribution to non-controlling interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "FSI_PercentageOfDomesticAccountsReceivableOfInventory": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "PercentageOfDomesticAccountsReceivableOfInventory",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of domestic accounts receivable of inventory",
        "documentation": "Percentage of Domestic Accounts Receivable of Inventory."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_PercentageOfForeignAccountsReceivableOfInventory": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "PercentageOfForeignAccountsReceivableOfInventory",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of foreign accounts receivable of inventory",
        "documentation": "Percentage of foreign accounts receivable of inventory."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_PercentageOfInterestOnUnpaidPrincipalBalance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "PercentageOfInterestOnUnpaidPrincipalBalance",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate on unpaid principal balance",
        "documentation": "Percentage of interest on unpaid principal balance."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r838"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r365"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r673"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares issued",
        "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r365"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r673",
      "r693",
      "r1101",
      "r1102"
     ]
    },
    "us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Doubtful Accounts",
        "documentation": "Disclosure of accounting policy for determining the estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and deposits",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r192",
      "r306",
      "r307",
      "r758"
     ]
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification",
        "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."
       }
      }
     },
     "auth_ref": [
      "r949"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares issued upon exercise of stock options",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds of long term debt",
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r639"
     ]
    },
    "FSI_ProceedsFromNoncontrollingInterestOfMendota": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ProceedsFromNoncontrollingInterestOfMendota",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interest of 317 Mendota",
        "documentation": "Proceeds from noncontrolling interest of mendota."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ProceedsFromRedemptionOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ProceedsFromRedemptionOfInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Redemption of investments",
        "documentation": "Proceeds from redemption of investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromRepaymentsOfLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromRepaymentsOfLinesOfCredit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advance (repayment) of line of credit",
        "documentation": "The net cash inflow or cash outflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's assets)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distributions received from equity investments",
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "us-gaap_ProceedsFromSaleOfLandHeldForUse": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfLandHeldForUse",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of investment",
        "verboseLabel": "Unrelated party for consideration",
        "documentation": "The cash inflow from the sale of land held for use; excludes sales of land held as inventory or investments."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_ProceedsFromSaleOfProductiveAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfProductiveAssets",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from sale of asset",
        "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_ProductInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductInformationLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r282",
      "r539",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r754",
      "r781",
      "r807",
      "r809",
      "r810",
      "r814",
      "r816",
      "r1008",
      "r1009",
      "r1015",
      "r1060",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "auth_ref": [
      "r282",
      "r539",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r754",
      "r781",
      "r807",
      "r809",
      "r810",
      "r814",
      "r816",
      "r1008",
      "r1009",
      "r1015",
      "r1060",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_ProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfessionalFees",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional fees",
        "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer."
       }
      }
     },
     "auth_ref": [
      "r767",
      "r826",
      "r1098",
      "r1099"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income for the year",
        "label": "Net income",
        "verboseLabel": "Net income for the year",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r194",
      "r196",
      "r208",
      "r216",
      "r223",
      "r229",
      "r232",
      "r233",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r475",
      "r478",
      "r480",
      "r483",
      "r484",
      "r496",
      "r501",
      "r577",
      "r597",
      "r646",
      "r695",
      "r713",
      "r714",
      "r789",
      "r790",
      "r827",
      "r960",
      "r1012"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r526"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY, EQUIPMENT AND LEASEHOLDS",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r160",
      "r163",
      "r164"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r178",
      "r594"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r526"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, equipment and leaseholds, net (Note 6)",
        "verboseLabel": "Property, plant and equipment, net, total",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r526",
      "r578",
      "r594",
      "r798"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Equipment, Leaseholds and Intangible Assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r160",
      "r163",
      "r592"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r526"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r389",
      "r391",
      "r419",
      "r420",
      "r421",
      "r427",
      "r497",
      "r534",
      "r535",
      "r536",
      "r625",
      "r627",
      "r635",
      "r663",
      "r664",
      "r721",
      "r723",
      "r725",
      "r726",
      "r728",
      "r750",
      "r751",
      "r772",
      "r780",
      "r784",
      "r793",
      "r794",
      "r795",
      "r796",
      "r809",
      "r820",
      "r1007",
      "r1014",
      "r1037",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r389",
      "r391",
      "r419",
      "r420",
      "r421",
      "r427",
      "r497",
      "r534",
      "r535",
      "r536",
      "r625",
      "r627",
      "r635",
      "r663",
      "r664",
      "r721",
      "r723",
      "r725",
      "r726",
      "r728",
      "r750",
      "r751",
      "r772",
      "r780",
      "r784",
      "r793",
      "r794",
      "r795",
      "r796",
      "r809",
      "r820",
      "r1007",
      "r1014",
      "r1037",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053"
     ]
    },
    "us-gaap_RealizedInvestmentGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RealizedInvestmentGainsLosses",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross profit",
        "documentation": "Amount of realized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r605"
     ]
    },
    "FSI_RealizedInvestmentGainsLossesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "RealizedInvestmentGainsLossesNet",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income",
        "documentation": "Net income.",
        "label": "RealizedInvestmentGainsLossesNet"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF REPORTABLE SEGMENTS",
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r40"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "auth_ref": [
      "r853",
      "r864",
      "r878",
      "r904"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r288",
      "r390",
      "r529",
      "r530",
      "r583",
      "r591",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r692",
      "r694",
      "r720"
     ]
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related and Nonrelated Parties [Axis]",
        "documentation": "Information by related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r288",
      "r390",
      "r529",
      "r530",
      "r583",
      "r591",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r692",
      "r694",
      "r720",
      "r1045"
     ]
    },
    "FSI_RemainingInvestmentOwnedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "RemainingInvestmentOwnedPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining investment owned percentage",
        "documentation": "Remaining investment owned percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayment of long term debt",
        "label": "Repayment of debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r642"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r752",
      "r767",
      "r1054"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]"
       }
      }
     },
     "auth_ref": [
      "r854",
      "r865",
      "r879",
      "r905"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r855",
      "r866",
      "r880",
      "r906"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r862",
      "r873",
      "r887",
      "r913"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r124",
      "r588",
      "r632",
      "r634",
      "r643",
      "r674",
      "r798"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r220",
      "r221",
      "r222",
      "r224",
      "r229",
      "r231",
      "r233",
      "r301",
      "r302",
      "r326",
      "r463",
      "r464",
      "r472",
      "r473",
      "r474",
      "r476",
      "r477",
      "r478",
      "r487",
      "r489",
      "r490",
      "r492",
      "r494",
      "r516",
      "r519",
      "r629",
      "r631",
      "r647",
      "r1101"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales",
        "verboseLabel": "Total",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r148",
      "r248",
      "r258",
      "r259",
      "r273",
      "r279",
      "r282",
      "r284",
      "r286",
      "r387",
      "r388",
      "r539"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer Benchmark [Member]",
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r286",
      "r946"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r753"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Sales",
        "label": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r148",
      "r202",
      "r216",
      "r248",
      "r258",
      "r259",
      "r273",
      "r279",
      "r282",
      "r284",
      "r286",
      "r299",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r501",
      "r577",
      "r767",
      "r1012"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r922"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r922"
     ]
    },
    "us-gaap_SalariesAndWages": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalariesAndWages",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Wages",
        "documentation": "Amount of expense for salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold."
       }
      }
     },
     "auth_ref": [
      "r962"
     ]
    },
    "us-gaap_SalariesWagesAndOfficersCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalariesWagesAndOfficersCompensation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Wages and administrative salaries",
        "documentation": "Amount of expense for salary and wage arising from service rendered by nonofficer and officer employees. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ANTI-DILUTIVE OPTIONS",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r1028"
     ]
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LONG TERM DEBT",
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r46",
      "r47",
      "r63",
      "r122",
      "r123",
      "r776",
      "r778",
      "r971",
      "r1041"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r1025"
     ]
    },
    "FSI_ScheduleOfDistributionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ScheduleOfDistributionsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF DISTRIBUTIONS",
        "documentation": "Schedule of Distributions [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomePerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF RECONCILIATION OF INCOME TAXES",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r439",
      "r788",
      "r1020"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE",
        "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area."
       }
      }
     },
     "auth_ref": [
      "r114"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Revenue from External Customer, Product and Service [Table]",
        "documentation": "Disclosure of information about revenue from external customer by product and service when not provided as part of reportable operating segment information."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]",
        "documentation": "Disclosure of information about the extent of the entity's reliance on its major customers."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r295",
      "r296",
      "r298",
      "r471",
      "r943",
      "r944",
      "r945",
      "r1031",
      "r1032",
      "r1033",
      "r1034"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r216",
      "r295",
      "r296",
      "r298",
      "r299",
      "r501"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment [Table]",
        "documentation": "Disclosure of information about equity method investment. Includes, but is not limited to, name of investee or group of investees, percentage ownership, difference between investment and value of underlying equity in net assets."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r216",
      "r295",
      "r296",
      "r298",
      "r299",
      "r501"
     ]
    },
    "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS",
        "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class."
       }
      }
     },
     "auth_ref": [
      "r990",
      "r993"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF INVENTORY",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r86",
      "r87",
      "r88"
     ]
    },
    "FSI_ScheduleOfLongTermDepositsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ScheduleOfLongTermDepositsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDepositsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LONG TERM DEPOSITS",
        "documentation": "Schedule of Long Term Deposits [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ANNUAL FUTURE PRINCIPAL PAYMENTS",
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "FSI_ScheduleOfMethodOfDepreciationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ScheduleOfMethodOfDepreciationTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF METHOD OF DEPRECIATION",
        "documentation": "Schedule of Method of Depreciation [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION",
        "documentation": "Schedule of Non-Controlling Interest Related to Acquisition [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfNonOperatingLossCarryforwardsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ScheduleOfNonOperatingLossCarryforwardsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS",
        "documentation": "Schedule of nonoperating loss carryforwards [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfProductInformationTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operation, Product Information, Concentration of Risk [Table]",
        "documentation": "Disclosure of information about concentration risk of product within nature of operation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r526"
     ]
    },
    "FSI_ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF RECOGNIZED STOCK BASED COMPENSATION",
        "documentation": "Schedule of Recognized Share Based Compensation Stock Options [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA",
        "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."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r113"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Disclosure of information about revenue from external customer and long-lived asset by geographical area. Long-lived asset excludes financial instrument, customer relationship with financial institution, mortgage and other servicing right, deferred policy acquisition cost, and deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r90"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r393",
      "r395",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF STOCK OPTION ACTIVITIES",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r126"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r774",
      "r1000"
     ]
    },
    "FSI_SecondTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SecondTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Second Term [Member]",
        "documentation": "Second Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r830"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12gTitle",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "us-gaap_SecurityDeposit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SecurityDeposit",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security deposit",
        "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease."
       }
      }
     },
     "auth_ref": [
      "r953"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r839"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r148",
      "r149",
      "r150",
      "r248",
      "r254",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r279",
      "r280",
      "r281",
      "r286",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r325",
      "r331",
      "r332",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r764",
      "r767",
      "r768",
      "r773",
      "r812",
      "r1060",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "auth_ref": [
      "r284",
      "r285",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r660",
      "r661",
      "r662",
      "r722",
      "r724",
      "r727",
      "r729",
      "r737",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r755",
      "r782",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r811",
      "r820",
      "r1015",
      "r1060",
      "r1062",
      "r1063",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "FSI_SegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SegmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment [Member]",
        "documentation": "Segment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAnd"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENTS AND",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r248",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r269",
      "r271",
      "r272",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r286",
      "r763",
      "r765",
      "r766",
      "r767",
      "r769",
      "r770",
      "r771"
     ]
    },
    "us-gaap_SegmentReportingOtherItemAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingOtherItemAmount",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other segment items",
        "documentation": "Amount of other expense (income) and loss (gain) calculated as difference between segment revenue and separately disclosed expense category to arrive at segment profit (loss)."
       }
      }
     },
     "auth_ref": [
      "r248",
      "r271",
      "r272",
      "r279",
      "r767"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising and promotion",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails",
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Volatility",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r419"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Interest rate",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r421"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r393",
      "r395",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Number of shares Exercisable, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r402"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted average exercise price, Exercisable, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r402"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of shares, Cancelled or expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r1018"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Cancelled or expired",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r1018"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of stock options to employees",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r1019"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares, Granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r404"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average fair value of options granted",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r414"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Number of shares, Beginning Balance",
        "periodEndLabel": "Number of shares, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r400",
      "r401"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price, Beginning Balance",
        "periodEndLabel": "Weighted average exercise price, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r400",
      "r401"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of vested options, exercisable",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r417"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of vested options, outstanding",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r416"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Exercised",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r405"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r404"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options granted percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1017"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of vested options exercised",
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options maximum granted term",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r786"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected life - years",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r418"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average remaining contractual life, exercisable",
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average remaining contractual life, outstanding",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r128"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested term",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r416"
     ]
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Cancelled or expired",
        "documentation": "Cancelled or expired, Exercise price per share."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Exercised",
        "documentation": "Exercised, Exercise price per share."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Granted",
        "documentation": "Exercise price per share, Granted."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Exercise price per share Exercisable, Ending Balance",
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Exercise price per share, Beginning Balance",
        "periodEndLabel": "Exercise price per share, Ending Balance",
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, shares",
        "periodEndLabel": "Balance, shares",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShippingAndHandlingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShippingAndHandlingMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping and Handling [Member]",
        "documentation": "Packing and transport of product."
       }
      }
     },
     "auth_ref": [
      "r1016"
     ]
    },
    "FSI_ShippingCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ShippingCost",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping",
        "documentation": "Shipping cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermBorrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermBorrowings",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short term borrowings",
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r137",
      "r798",
      "r1056"
     ]
    },
    "us-gaap_ShortTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LINE OF CREDIT",
        "documentation": "The entire disclosure for short-term debt."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r1004",
      "r1005",
      "r1006"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r1004",
      "r1005",
      "r1006"
     ]
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Term deposits",
        "label": "Short-Term Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r144",
      "r957"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r214"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r148",
      "r149",
      "r150",
      "r172",
      "r248",
      "r254",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r279",
      "r280",
      "r281",
      "r286",
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r325",
      "r328",
      "r331",
      "r332",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r764",
      "r767",
      "r768",
      "r773",
      "r812",
      "r1060",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r185",
      "r186",
      "r187",
      "r216",
      "r237",
      "r238",
      "r240",
      "r242",
      "r251",
      "r252",
      "r299",
      "r338",
      "r340",
      "r341",
      "r342",
      "r345",
      "r346",
      "r365",
      "r366",
      "r368",
      "r371",
      "r377",
      "r501",
      "r639",
      "r640",
      "r641",
      "r642",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r659",
      "r673",
      "r696",
      "r715",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734",
      "r942",
      "r967",
      "r976"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r80",
      "r83",
      "r84",
      "r170",
      "r199",
      "r200",
      "r201",
      "r220",
      "r221",
      "r222",
      "r224",
      "r229",
      "r231",
      "r233",
      "r250",
      "r301",
      "r302",
      "r326",
      "r378",
      "r463",
      "r464",
      "r472",
      "r473",
      "r474",
      "r476",
      "r477",
      "r478",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r494",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r516",
      "r519",
      "r528",
      "r600",
      "r629",
      "r630",
      "r631",
      "r647",
      "r715"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r284",
      "r285",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r660",
      "r661",
      "r662",
      "r722",
      "r724",
      "r727",
      "r729",
      "r737",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r755",
      "r782",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r811",
      "r820",
      "r1015",
      "r1060",
      "r1062",
      "r1063",
      "r1065",
      "r1066",
      "r1067",
      "r1068",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1081",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r221",
      "r222",
      "r250",
      "r519",
      "r539",
      "r637",
      "r659",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r673",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r683",
      "r684",
      "r685",
      "r686",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r694",
      "r697",
      "r698",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r715",
      "r821"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r221",
      "r222",
      "r250",
      "r288",
      "r519",
      "r539",
      "r637",
      "r659",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r673",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r683",
      "r684",
      "r685",
      "r686",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r694",
      "r697",
      "r698",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r715",
      "r821"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r857",
      "r868",
      "r882",
      "r908"
     ]
    },
    "FSI_StockBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "StockBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Bank [Member]",
        "documentation": "Stock Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant for services, shares",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option issued upon exercise",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r79",
      "r80",
      "r124",
      "r639",
      "r715",
      "r731"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common shares issued upon exercise of stock options, shares",
        "negatedLabel": "Number of shares, Exercised",
        "verboseLabel": "Stock options exercised",
        "terseLabel": "Exercise of employee stock options",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r79",
      "r80",
      "r124",
      "r405"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant for services, value",
        "documentation": "Value of 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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common shares issued upon exercise of stock options",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r80",
      "r83",
      "r84",
      "r124"
     ]
    },
    "FSI_StockIssuedInExchangeForServicesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "StockIssuedInExchangeForServicesPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued in Exchange for Services",
        "documentation": "Stock Issued in Exchange for Services [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardAndBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "StockYardAndBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yard And Bank One [Member]",
        "documentation": "Stock Yard And Bank One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankAndTrustMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "StockYardsBankAndTrustMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank And Trust [Member]",
        "documentation": "Stock Yards Bank And Trust [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity \u2013 controlling interest",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r83",
      "r84",
      "r116",
      "r675",
      "r693",
      "r716",
      "r717",
      "r798",
      "r828",
      "r969",
      "r988",
      "r1039",
      "r1101"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets",
      "http://flexiblesolutions.com/role/StatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Stockholders\u2019 Equity",
        "periodStartLabel": "Balance",
        "periodEndLabel": "Balance",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r54",
      "r56",
      "r170",
      "r171",
      "r200",
      "r220",
      "r221",
      "r222",
      "r224",
      "r229",
      "r231",
      "r301",
      "r302",
      "r326",
      "r378",
      "r463",
      "r464",
      "r472",
      "r473",
      "r474",
      "r476",
      "r477",
      "r478",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r494",
      "r507",
      "r508",
      "r512",
      "r517",
      "r528",
      "r630",
      "r631",
      "r645",
      "r675",
      "r693",
      "r716",
      "r717",
      "r735",
      "r827",
      "r969",
      "r988",
      "r1039",
      "r1101"
     ]
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStock"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CAPITAL STOCK",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r215",
      "r364",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r378",
      "r493",
      "r718",
      "r719",
      "r736"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r513",
      "r532"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r513",
      "r532"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Table]",
        "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued."
       }
      }
     },
     "auth_ref": [
      "r513",
      "r532"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r513",
      "r532"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r513",
      "r532"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUBSEQUENT EVENTS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r531",
      "r533"
     ]
    },
    "us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary company ownership interest rate",
        "documentation": "The number of units or percentage investment held in the subsidiary by the limited liability company or limited partnership."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY",
        "documentation": "Summary Of Right of use Asset And Lease Liability [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "us-gaap_TaxPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxPeriodAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Period [Axis]",
        "documentation": "Information by period subject to enacted tax law."
       }
      }
     },
     "auth_ref": [
      "r1023"
     ]
    },
    "us-gaap_TaxPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxPeriodDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identified tax period."
       }
      }
     },
     "auth_ref": [
      "r1023"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/BalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/BalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r69"
     ]
    },
    "us-gaap_TechnologyEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TechnologyEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Technology Equipment [Member]",
        "documentation": "Equipment used in the creation, maintenance and utilization of information systems which include computers and peripherals."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TermDepositsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TermDepositsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term Deposits",
        "documentation": "Term Deposits [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TermLoanMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetails",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDebtDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term Loan [Member]",
        "documentation": "Term Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThirdTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ThirdTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Term [Member]",
        "documentation": "Third Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThreeCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ThreeCustomersMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentsAndDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Customers [Member]",
        "documentation": "Three Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThreePrimaryCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "ThreePrimaryCustomersMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Primary Customers [Member]",
        "documentation": "Three Primary Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Axis]"
       }
      }
     },
     "auth_ref": [
      "r984",
      "r1044"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r921"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]"
       }
      }
     },
     "auth_ref": [
      "r923"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TravelAndEntertainmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TravelAndEntertainmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Travel",
        "documentation": "Expenses incurred for travel and entertainment during the period."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r924"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r925"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r925"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Name",
        "label": "Trading Arrangement, Individual Name"
       }
      }
     },
     "auth_ref": [
      "r923"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title"
       }
      }
     },
     "auth_ref": [
      "r923"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r924"
     ]
    },
    "FSI_TrioOpportunityCorpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TrioOpportunityCorpMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfCompanysInvestmentsDetailsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trio Opportunity Corp [Member]",
        "documentation": "Trio Opportunity Corp [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandFourtyOneYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandFourtyOneYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2041 [Member]",
        "documentation": "2041 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandFourtyThreeYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandFourtyThreeYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2043 [Member]",
        "documentation": "2043 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandFourtyTwoYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandFourtyTwoYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2042 [Member]",
        "documentation": "2042 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandFourtyYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandFourtyYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2040 [Member]",
        "documentation": "2040 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyNineYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandThirtyNineYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2039 [Member]",
        "documentation": "2039 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyOneYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandThirtyOneYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2031 [Member]",
        "documentation": "2031 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtySevenYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandThirtySevenYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2037 [Member]",
        "documentation": "2037 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyTaxYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandThirtyTaxYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2030 [Member]",
        "documentation": "2030 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TwoThousandThirtyTwoYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "TwoThousandThirtyTwoYearMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonOperatingLossCarryforwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2032 [Member]",
        "documentation": "2032 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r479"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r920"
     ]
    },
    "FSI_UnitedStatesandAbroadMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "UnitedStatesandAbroadMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States and Abroad [Member]",
        "documentation": "United States and Abroad [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized tax benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r430",
      "r450",
      "r787"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized accrued interest and penalties",
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return."
       }
      }
     },
     "auth_ref": [
      "r448",
      "r787"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnrecognizedTaxBenefitsPeriodIncreaseDecrease",
     "presentation": [
      "http://flexiblesolutions.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized tax benefits, increased",
        "documentation": "Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns."
       }
      }
     },
     "auth_ref": [
      "r1024"
     ]
    },
    "FSI_UnrelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "UnrelatedPartyMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrelated Party [Member]",
        "documentation": "Unrelated Party [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r37",
      "r38",
      "r157",
      "r158",
      "r161",
      "r162"
     ]
    },
    "us-gaap_UtilitiesOperatingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UtilitiesOperatingExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Utilities",
        "documentation": "Amount of operating expense of regulated operation."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "FSI_WagesAndAdministrativeSalariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20241231",
     "localname": "WagesAndAdministrativeSalariesMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRecognizedStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Wages And Administrative Salaries [Member]",
        "documentation": "Wages And Administrative Salaries [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of common shares (diluted)",
        "verboseLabel": "Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r242"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfBasicAndDilutedLossPerShareDetails",
      "http://flexiblesolutions.com/role/StatementsOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of common shares (basic)",
        "verboseLabel": "Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r235",
      "r242"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r939"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477787/942-405-45-2"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21D"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "470",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(2)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-21"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4M",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4M"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480091/360-10-S99-2"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-23"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-20"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477875/944-360-45-3"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477875/944-360-45-4"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478586/944-360-50-1"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "323",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/323/tableOfContent"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-3"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-6A"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-3"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-10/tableOfContent"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "44",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-44"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-20/tableOfContent"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481664/323-10-45-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-10B"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10A"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478758/740-323-25-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "808",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479402/808-10-50-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-17"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/842-20/tableOfContent"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "40",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479092/842-20-40-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-5"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-2"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-27"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-21"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478297/946-220-50-3"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-1"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479196/954-310-45-1"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "450",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477850/954-450-50-1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-217"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "102",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-14"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-9"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "2"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 6-K",
   "Section": "General Instruction",
   "Subsection": "B"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05",
   "Subsection": "Instruction",
   "Paragraph": "2"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Section": "1.05",
   "Subsection": "a"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "2"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-X",
   "Number": "210",
   "Section": "2",
   "Subsection": "2"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r946": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r947": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1"
  },
  "r950": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r951": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r952": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r955": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r956": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r957": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r958": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r963": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r964": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r965": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r973": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r974": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r975": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r976": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-55"
  },
  "r977": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r978": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r979": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18"
  },
  "r980": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r981": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r982": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r983": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r984": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r985": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r986": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r987": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r988": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r989": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r990": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r991": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r992": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r993": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r994": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r995": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r996": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r997": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r998": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r999": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1017": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r1031": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r1047": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r1048": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1049": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1050": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(14)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1080": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1083": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1086": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1087": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1094": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1097": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r1098": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r1099": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1100": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>111
<FILENAME>0001641172-25-001675-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001641172-25-001675-xbrl.zip
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
M" 4@B%(>187"0#(PUQE ")9D=:=6<./G-%%1!/(5;SX#C8 ;/>C$CNH$JTQ
M,NL)?">GPI!C)L3&8CQP2HJ"*Q.4V?:6D0)Y/%)1J-E>@,^AV^&F1 Q%DI"8
M9SS7BZSNI)UFU*%!44[3P#!N**<RS'BD\0&&C.-"0SDSDV=[H1C*&$8?B$C-
MG@'+ 65#:%@A4"WP>>Y!<$' 466 T>:@RTWAUP#4"7JYH)# DO"(Q2HV.DM%
M40D4/#*)0;LP=)1>\$$];WWZ(]_00]Y0LAY;,_.;Y;').FJ)#.C=!&*2&OJ
M?6F1PC4)F&/B9H+F4 HLE7A=QQBA-9("F"@Q4Y 8Y,)%PPD9O>'52Z)!BR!+
M9"J1*AD'449F5/E.0XU$1C@> S_4J0J^@M$ZH5\[:(%:'F]_ ?F1)C)(5W\#
MYB.8?(M</YU/R*8K2 **>5HFV]"";%YJG8D#=E7_%G06C,KC).*:)V&$#!\>
M,!L)\T 4!CP1:)6'.$/.!HGZ"K+QFN2#RN(4B 0+]W#OZS,&0E)+6%>>V 5R
M5Z2C1&77(YA*;KW;>4ZR)!AQD#N3"'Z$ 6BF,ZG%"M'1&+7<:^"MT,#),&V;
M97K>.^Y_[!\;(G_^TC_IGAY[4]4?E*TW5>%P=%MTEG\6,<C**+)B^3Q1(SF0
M*.6[:/^1Z$41+=#+3#^1)D(*#$GK.6DL5D$! >E\ZBC@4_Y56)L7KE/&*+2?
MG,"M6J:&"B=D&=BX&L>%+^"X&F(:P6#^^>;@S6* <P6'>?T37NI9S$.PF,,V
M,)B7CZ&?';;$.GK_Y8.-MN4VB8OO7.:Z_OOG7S[X<^[/>4$5':)V'/5U4LE;
M<JI/547N#[)Y!TSW*.H8DD-%SMRR[9R[)\H<H&3MST8R @-^AJ8]F/MW]N]Z
MU^[&D?64KEWDMT^^7;:>#0Y:PP8-;?6\\*^PP1#^H$P?^'8B N2 +DUF$/'@
MJ\I2]A+-)*E"XSP-.&5)493+.E$=.5P7D;40,VL<KZR&Y)JA>1W>V87SL$;
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
M@@+"OH]"M(%KA?_W"?UF6@?CJ.6L42%2ZB!,?FTQ!(,]3UIT@Y95!S=666M
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
MBNW4:>#4%+.T,;<-FMPP@67:<?25+?15+>&[6^@K7OX 4$L#!!0    ( !*
M?UH9N>WU]@<  /I&   *    97@S,2TR+FAT;>U<;6_;.!+^7J#_@1O@%BD@
MQTFZ62QLKX&X=K;&99L@,0[7C[0TLGFA29>D[/I^_<Z0DE]BITVO3=:ZJ$#C
M2.++PY=YYID1X];[P9^7[=>O6N][YUW\9/2O->@/+GOM5CU\XM-Z_KC5N>I^
M9+>#CY>]WP]2K5R#G1Q/'1N("5CV >;L1D^XBL*-B-V"$>D!5L2JU]]:K\DF
MW(R$JCD];3 LOKPQU,[I27[/P6=7XU*,5(/%H!R8@_;/:FBGS5;]^CN[]EVL
M_F]V9L1H[ [:K8NK#X/U#FHIGPBY:'RM"U_6BO]"0)0W[@Q7-M4&AY=-IV!B
M;@$[Z;1[_W[?[_0'KU^]/3DZ;=4[N#[4<_N)1UE,Z8\:YFIQRHG^7>]FT+_H
MOSL?]*\^W#[/*/Z362?215D7X0G@]Z/7K[I<"9"L<\2N?C;V4Z:;'2, Z\9@
MJ#_FQMPU2CO$W2LT..]<]MB[WN7E[?7YN_Z'/WX_.#[PU]?GW6YQ_<U#G(O$
MC:GH\3^:;*A- J86:RGYU"*@XK<#[R%:@YMO[V!&:Q)S64P8<OI![F]:@^[_
M#/CXZ/1,J"=?BY.CY3H,NM\#^ZG-(D ;\QDP S,!<TC0#(1E7*F,2[PYU<8Q
MK=@%NABL5?LGTRF[D/!9#"6P6RTS)[2RK$_$J3A=<!GA97S47)\$_'&S/]OA
M>6UQK_? -M87M52G)3'5#NJZ),!#:YPLV)W2<PG)"*)@L<%4(Y9H;%=IARRL
M'!<*37G!,N5,!LPZ[F""&H>,F*.C0IL5:.8IC_&687HB'"Y8*+=50$$,UG*S
M"#"PW(3? ?:^UK#%>PE"PGXEZ5WJB K$PL39!(LI; /AH,-@\[&(Q\QF]&-5
M?PX&\D9H%!-A)?!$J!%RN!OC,.T48D*9H\#&4?8*G>" <>\A@0T7_FZ8D)>[
MLRL2*LU2O?V_("%@J5!HX$08*X..D( 2IO&Q67LN%,6L7B[@[[',$C1<)(T-
M*DNY,'+!IFCSQ%G$95(N22G@R/G WNL?R2\1U'I$)3*)!9")-#(%#WJ%0&&L
M/&:IU'-;T)2!D; 44CO&Z68 CU"C-:*Q!2(/N:"A)>Z7NXTKQBG-4OU2$L89
MC*&P\\(R\^#=YIR21^\D$'2:"KP\M&^\V?89-^ ) @W>ARMHR R0FH92V#'5
MH&(3%$DDE.@Z$3:6VF98C^23T3(PQ=3H&!*\;0.:0V2'!)!N FOU/L=CKD;
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
MG<.S]R/"$/[ZJ,4_N'?O0^91037V>3"[P.\N6)?_MG+GW#5=?+JQL=-8,:-
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
MV]L[C[ T$D6[#";R/#,EN<E$#.12#"83#$H57\09S" T ^PW C93Z'+'M?%
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
MK&5)L7Q Q?(AS\:R0] .;Y%7)"!('3#+1&1H?+V^UJCOKS: DV@UK;K(."W
MQ?O,\Q+K]N<IZ<*Y& X(B%_>JRLVOP%T1?:[G_=QX?+*#G8ZAS.R^IJ;?]PX
M?P3!7XUYL]PIG2BS,#[DYC(Q%W A<6.A$;O-#4# /V*?F:UZS<1[)W2T>CU
M:-15$-%9)(K2%++NI4%)8G@VE;,!0 %0!EPZ\4@*V'91,\%!CY1U]Z\B3F_G
M</J<+()#+["B:_=(8O1FJW[]?>_VZH_S/_N?FKMI$LTA9;S :XMHEUEF)8?E
M;7[6%5B^N8H5>CG\;>4QW8\'3A YS'8'EK=BRK]PBCCB!$M:\//E_LK'QDYM
M9Z=9VVDF<W449 EN"VD2"%T-TSK0R!\"]C.1P=0'<<4?=;AR#2P32DJ$9-XA
MR#><$[1, >"% 5Z0T8D5VGU%1QNU[&V"_3XY-"O?F$O4A%(YZ"4AQ%D<D6\'
MD 7)8>@Z1!(;]1:2Q/J%?]?[\N6OT\.MATGBOK6GTLC&:KTU22/KCZ21H]/#
M#)6(-P*A-&N;ZUNUC59S)J%(>P3=&D$*889 LL2@,?T5@%?&%+J*9N1R33;!
M.2A8COPH\]O=\87ZY17 ONO!U4[79H8'07=W[X_CNW\_/_^9<=L:PB%,1NK6
MI\Z'>Q!4"KD^6*Z]6)>\T!AZU6=&Q,(!5RE5AQZ[<SL>4VE9ZO.]7&I5\O%H
MXL&8)Y]D,K6".$SRM\#:C+E(*R8RP+^HUQJ7@1<+J_1(>%?Q'Y97@W_::[0B
M^C9YW.&NXUJABYN+?0^]LL*10Y@M^I"/7)[D8'/- !\/_.O-L2^T!WEPCGTR
M]_[5YMB_#03 @_L5EL*T:A1:#3I%BI)/WN?,CB\/8<LFY1NEF8S9S,5B9F/^
ME9,IB874Q<FTIC1;8<J8O_S!>*Q+OTCR 7(8K2Y(Q:-5,%H@X>0AA<RZ6>TP
M4 X!F"$=;/9@-J>3T>1H!_FQ>OTP]\(LZFNLOP_X.;1W[7S<:],0J_;%-^/T
M[.K O#CXU+[8/SK]9!Z>77R%OZX>GYW]B?^^O&I?'9P<G%Y=OM3XJH6^+0F\
M_-#U<1R$'*E9KE[D<D,,'S<OD@AR6F.AJA=Q=K(I\A0R,X.E;^AGJ?SDUI%J
MT"_9EICDT\3@)BRS![H/<DNR% Y5K,FX3+SS-55^0C64(RMT5KT@N)'9#<J%
MCUD1,MXU8):/WTJ7R7GHWJ*O*E-(>@Q_]$10_ +YTB"M*-W96,-M9U]CY&M4
M,+96H_>!%6IZ[L 5L=F:C#=DG@X95MO@A@,P@&^9%PQ5D!V3-X9AX,0V[A#4
MQ4R<#?;KB 008>N&IM5Q/;#4L?H&( "&"N]QT*/L=F(5Q</GU(H3>\A"A5ZA
M#@/S1DP6$08:GA2FHL!"Q5-&?=GU R_HC6M4"&=8B?H\L,;%B@<L'"I^QN&L
M/*?X*;L;,CN:J)@ J+"O<,0FG@=2&&0^5R44B!^N'T\\/_0LGQ<_Q"0&WTD_
M3H;X<+A)#[ [L]TU$^P%SN[#.]#N#<SDZ<46NO>9\$1TXPB+LX8L))<(UC"1
M*N_?!MXMZ.@NOR$]WL9>[0 118TQ78/S># 4]@ Y[=!X<%P,%,5>)..S.&B(
M( M)IH+=84= ;P:@HQT,Y$I@ < O,-MC3 O !O'H0I>*.+M@!)LC? &&(Y(#
MIY0*7-.VJ%93$-3]!^#$#.'RT;8-8FYT 9H@Y!ERKYF I)3N1,1"EE MB];X
M^Q[S*2F9[J.#AP*HAOMVD6!&04CO!?,<J,W#'ZA+IX6"(1/SB9!;4/(2NB"
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
MP<HN3CE84[NCP'$, \YD'HJPJ6N)3JN"N,P*<7G273- &6A\3R5//IU Q7G
MD25%@^D)DZJ,EC6HS=F-NYP*T$/910*K-25A2[^'^!DEV8@WYR":"L:+9W3/
M^QUID'+1"?TK,T0&%:8;A)B)@CV5:88V8I\0C:L%T8AX*KPUB)'=.*0L!FQ-
M'G/I"#L-8,6&\DX_B")IYQ(K2Z^$C**KSV=1^9*F@ZBN*4Y-CA>1%5@D+E']
M[\@8C\K<%-[M)%U,$BUGN7UI"501Q#R+0V/$X&(BLLU'H]%:5\8@N/(HKH%.
MI._KY8'_T*'K.9>.M25+%EAHLOG@8J%C.+ \XSSPQA9'9DI1D&FAC@_O7'US
M%;DYD,2I-YR)B) ,LJ#]E(FHB7 ;2K<>".M(7#?HHMX8BXR_DYX9!B )I0(X
MB+W('8+A> LBSD+#3;C$4=KB')%AY X $&$OHEB]=1W,.50M/F0^F=!-@?F*
M!QDFB7)*H%2:0]9WOT2"M )%B*U?S3-1'/ >7RE[R?UJ?L'V*V\^?W$R*:Y8
MB9LY6G6HOYI7XR&\OQV"\67_:N*@97'PIP$>9S.7=*A^157!;RHW<NE-H-Q*
M]"H'#6"R$MX+_QDP7K;R$5FR@:SOS/6Z%'67;"(3OT_+_9'!4KJ \'>D:03
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
ML+[EKJCD+0AON-E<QXX V$3 =*SQFI%M59D-_!6Y)AKNR+35%28-_K"-"#8
M[%'!1UC8ISSD[ ^]0,;4Z%7B<4.<A @<8K J/67)!-&E3@@"#UAN)GL@?3*3
MND!A!9YAF\1UNR*AG=8718 (,/%<T30B66K"UE:<3KX(!S7%&!ZFA'2YY6PF
M199Y2@R3FYK&1A.>#&L8EHQ3.'!25C(:"O:\FNR9/ ^4&R*45SR7J6ZF@A?5
MBBFFAY+/P\:P'$<83M ANAJ,#*=&0BY*171)H5"4FPIE*X_ QY8->./(G)%?
MJVXA2IPI84@/.$OE":U CN"Z3@><8SI@2Z<#:OWGN6;IU_;5P86V2ZMX.Z(+
MB/*="V<W*DA#ZHP%@IB2YK.=]I7$!,#LON@6GTDKFS!"44G"V$EX&[B8'X")
M-Q2L%!(1U#4DT@AT-5XSL/.XZ.M&7PN9BSWK30L8CFQA;N-L8MD)*@W.@W8
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
M%3/[%MU81$O\]!T2XTTF\5V\12D=-;/K^B">\<FD*TU.L.0:=FF^6!&B2*V
M6>-Y^JB^!-@O)P E$-$)I^(D*?+BL8S&HSKW4C\S4CA#!A@UE&-Q0.VP. \
M45!'),QV(U[HY:T99Y5P!..PZ=0CH/\@C))2B5EH(V80J2Z?V/S4]6/B=%S-
M U*I>;)7WLSY4+[0.YOU>A,;_=54L^=TG*@#^KP8<2;G0".O)@N%<0(:]/1A
M@),PB#\I(T.:#S[R6[,+YY&:'V)J)3)V)KI&*6A@50.[1;&0>!VP=53(TX'3
M-'?"LOMD7ZCA*O0*MPN8CCJ_6I;T\@[')JJX5 9TG,B4OB.%:M0/U(916.!$
M33$AA-1CTL>Y=4L;9C[KNE&BL"KH9&]"18OT?6:@-O;SPA;=V=$;:I(V7AEN
M+J &LQ-S-8P1$V-&Y&P/V!OV$G=%'B9)R,)L;C*YY$D)U4E*(FFE)AT5TX:B
M-'\K&1J>;?>3&_IMS)PV9;[(M"DS-Y++>/Q(+G/:2"XZ>=%)D@P9-(O,?VW4
M:>QUD.V:J](DAKF4U_OL+NPMZ7),>&W6FQM+))8KT*9I6[=I$K^82YNF+=VF
MZ3[TS+5I6FCU0YKN74-THD!=--$<<NG\HITXFEP>VD:^CW,L<O-$A673 7T4
M X(=H#,6"2DRO67DB)Y'0<9"K996#"^^@NT0Q!%U9Y67?E^QA^B<ZO<M61S"
M'X4;0A>!U6MI1Q22S-DR8>Q ^ #RD-,V40>EGS>%3BA5\&LYU$WX/L7T/37,
M3O;9STULR=GYNF'ILC66T]T'EBZHWK;!E*$8DRQ72^81)T.6,%BDL_NJ?Y4+
M#:I&J6J"NCB<[$A4R*JRVZ05_*36E1U:JY&P\A>[T*!JE*HFJ(O#URZ%E=:-
M/:FCI:YXS.YXP..@D;'R%[S0H&J4JB:HB\/?SK&%N6@"E?=_)>W0Y<"T8J1-
M1EGS/Z,@9A+H$[460NO#R!1 DB^NT!BL0=5,\:W<T^(PQ7V5]^LJBS;'Y<2,
MRGP/J/_^K^UF8^O7-#%;#V)^'O#S#A0=^89T38C\B'%6AT^F<G:82M"0:28W
MF.:63=#!*@@>46J,B!G+27]I-H[,JTDR=VY=%9T1N31&YL5J^&C7<CV1":,<
MPU0AP!F30Z!E\H]"-_(.DX"5[2UD]WX7CT#N14!J]IEUZWJRK7\ZL\_(SNQ+
MBR'E'#T98O681>>0'>&KQA8N49K(8F-V,H(9RR>27N4B;*A2G!,$T@'LBMU>
M>Q#X/2,[Z3V3F:A2&UU\.1 @)>V%3.3:B3H]]SL%29E/-3=)'B!F6")9(Z,+
M@">-9& [2\IK9AN^54_"4T80FH,@&7#*62;K4$3&LR/;LUR1ZI^RB><)EX"-
M,Q/95K/^*Q@=/L:Y/',OR]":#<JI.XK8P&S NPU*XPL9-N2F7+QNC&ET(;)8
MX).:\U0%=P7G.9 39&K&,  Q1XTSR?2C.PM=?L,GL[TQ_\NW9#JFJ#.CWZ15
MJ +AII;8T/.:DU4,&RXDR1ND)_.^.QS(2BD'M9@(:^=4.G&A.M2F;%BLF\'Q
MG9@)>^<.A!K47/^IT) _Z56M"D#A=TD=::M1PR36]9K1;/STB =;A';-^F.>
M;0(S<S&]<,1$(6'..A@%H>>,8(^U7$T,UJ%FBJFGDX-#E:!I[6Z6.KRQ*&),
M<P2(R2>'0:>=IZ<,%5$BD4J\-Q  -<T .;@4'H4IT%$0$4NG%X"0@-L),=O&
M&XNM)?.K18J3RID"414.Q(R$7''E9,J2SE'2.4H5\7[H'*59L!8FI* Y"J^2
M6JH]QB(2>D+T -&CD?1HI(6@<4W.IC#?1,^#L?0H4=&5&/N8?)*J\_!=,B<R
M*>R%E^7&I&%95.IAPY^ @=?#O\L6$Q7UUE<3;:L)U9L.ZU3S2MXJ0SL.@)^%
M!-[0$K6J]MA&1P+:'(FVHOQ7%+MV,48-1HML^N)Y8)6):@VL$$5-GF=UG;]C
M,-<<UZYRSN);0$K-O32B+!GWN@HM1X28AV$0,>$['S"+4QM[9%;N@/S? 76X
MQ[]YKLU\+M@5A2C)O::Q;>&ATFRI<E?R5MF2R( !'B-F;EAWIF>-9$^L[!CM
M@#/Z1B/5PD.EN4_EKN0M<Q]AGRDW%8\L^$@VM($E+/(G892-#T-,3DI#71K#
M%AXJS8HJ=R5OF16EBA I02'K610'SYIL09=B[^1)BBWJO P<*1I7N.#A+2":
MYD@:49::(P$SBCV+NO%GO4'3+;7L$TM<H%"!;G\[NMN?^,5<NOUMZVY_KY?H
MMM"YJ;D:B4PZIATRQXTH*U.:F%0#E)U^D\ER'X5NQ%:#;I=C'U],J\\DS%-B
M<J9.)@T].JQK8=:\Z-+JAH:*5P8=. 1AO>*K8IW37#6\ 8R191F8@>YYP8CN
M>6#]'62JL@!EHA%COMFJ$Q;MU$W'&M.=PE534C.S[#[EK2>-HK%BR\;VU7W7
M4X465CBNF3(_%V6YRHSF1AJA3K%0H.TS,)$Y"2Z:LW&1JD-X#' G;ZP9\+8,
M1=1D7<G3Q@3<,Q& JD6L3D#-H%6Q2-(3S?7A* >6'$"E*:0*%)+.#DB;",#2
ME [^'>SE("9F*>9=^(['G!J\-\ "2T2#F#-'&LT>P(H)9P(+LY.G,"^??@RJ
MC?@URE3\.;>Z,LL\FXMOE(R5FBM7"^<N@1L8A3NG:KBN9PT&Q"1)F ,T),T%
MNBDLHSK;V\!US"XV8D<F"KS.$4F-6&\!*$;M7PLO0-U C'!QPU"VCS=HDA0L
MRS-YDVS,".<!;<<$%@;P>8K*=N"C2AP2>B>%P&T/.]GV^EA=XED=5B@O@=^.
MK) <3L23J9"DEI9#&4D9!M7BX62! OPC1FWG?:S#P?-PT$H,D3Z)WY,(R4+M
M#D3#-C&D '=.OB_:*Q5"_QV'U,!>^;Q@Q0$0)C7>QP60YC/2<V0)\80EB;8;
MVO$ Q8@M#%715#<'+Y$O';A#I2537D4J'.PHIM)6,]]P/\=+E.ONJ:SDAP6<
MH4?>5)&%I&(+2^^QG(E0:8!CEZ@DB_FW;ACXJ!M1,12Y6T@[(CY @^]R6E;^
M!YXL^G=E-@\H+C8.E*"N H$#.Y2*I.JN@XX=0#IL.J9K&RN'+I.6(Q:X(>_L
M,@<;<R,OL60;>2_ G/D"/E@CY-;(A 3/$RPBQ2I2=XA#!6KV2,*?:@G+,D0:
M*P=Y@FGY7=/NLP%Z9H#[??9Q!B$)!_&VI*<%=3-'C/18.K)3#7X)V4#,'<'\
M_P&8PY8*;,B9ET+=1YBI\!!9H=%!:X<X<V<L6Z)(+FS*@8AI*WVAURNP1&N*
MP9 R2)+.&"/1QETR:A)V?4;UP[")&Q_N*>C6:"X,R0.:\0DVD4<32Y5(3"$5
MMHNB; !1$%Z6OE459)"I9TQOPY9MV\5UBU]G/0%=Y/-P/S'.8>&H"*0M-.!?
M-; 5([EY!"]'YF9"YK0AG,665%\F)R9FN\%'LMO\XZ20H:>Q+3ZOF2J:9,B1
MZ&IJP%&B"%"6Y8:Y+D4XA@G(S=5SFRMXV5_1^X-#37#*L>K6@E7>*I@38:(P
M%E!Q:998'&= )?,C$IT3E!!4N#M,X8I@SFHM9/O)4H6B;E'ZSDG&65S.AB9[
M"O;A 4OVS(X%-@^R=Y(!0RH.C[+CU-*66*(BW0Z&8YH*+_=4T*MK&2Y(VV1V
MWP^\H(=#>)$GXQK)3&>3(@@T+1EG]V;JV['H#*PX'+FFT!V8'''X6+.TJF#Y
M%">1Z%#5Q4ME:G[9=,86NKV^Q'?$!Q*-2H81AGF6.P LZ@&:<1+6B2F,2H[L
M8ZE0-A;X:0RL&UFFB*T<LIB::>6F>665L.@*I_ ::@HO(A!G[(84.T0!P9KR
M/J%\2YD"OI'W&QD8H"?'BT9L$%UK[L-$;,=A"/2U"YYV.:N0"FRQM1*Q3F)T
MS*&Y/@5)CBMCGPR<K*[0G,:(.ZR+HW\4P**Z3>!Y9YP?1[QF',';I/NJIIX2
M4Q8S0XLGR"/3RFD$.C<7:G2JX@H/BQS&&(?)_$8Z9;&$T#NI5ZQ1H"]3T%?-
M%%ZC#)D5&\=.MH,)PHD.*)H$JT&"@I&WD\F1J04G2!"M2X4X D>4L2+9\-1^
M3D^U4S1;KA).H%A/M%#AZN;29$[UPTF$(0<VC423RN; (IN=F@6!\!X'<B(?
M=B\* R_+>%1?R@+Z\9J1CD5#OJ(,J*)3%_T+07B3A@1(!46O2#\999MQ:5 3
MI5C.>\OP+E"A4?7TR N.J#^,0]J^@?\0ECNYT\GU+F<64F\IM6\9*IN8HTO
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
M85S%2R#E9VS*:'1S1*4N9-A,GR:08Z]I,W4.^V F]H) F\#6->WC=VCZ!D\
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
MXA8#<6%G:9D.K-QUAQ*KNXBY1IAG;/YC26(E#ZQ;Y*+,E^1B.O4QH^-88G8
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
M&C6Z]IW6N.MJ=R\-Z>K\J6#4.J/>CJ8>^2"L,?+HL*TJ&=J=D\F=<0^@)/0
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
M=,^C2(ECTP,^Y%ZKXD"[&62Q:<#J".D=8F:#B\96"9NK#PCR;@_27S&=@8K
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
M]814!K;"\IZ AW7^+]%-2'X.\#XI=\&:&D#Y*)_3OE@!7O\>>DC5W9/BS@3
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
MY:EEBF*NL"]V6^5^) ['Y,5BN2P6BXOQ!K=R.]XM1V.3N) X4()-,<SQ<<"
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
MO+4080_&%1R5;U/\D2V?GOXQBS^[/0_W[U:GS75GKGB1"%JTX%EP@"6*6Y>
M6>)ZK(19PF"<L^]="9> J& JRM#%E%].D,PC * 3+*=CD6[U=B@_ 7X..H]
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
M;.9?G5%,$K6>7^+!]LHYK6E^6KXO%*@\=]C8\?P2Q94$(R44IDT""IZ!RG
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
MLHU^'@6<1IMS=\A.10ROSF5.>W*&XZ:.G9BC&!HOL)NADW^-3Q>+_/&=:I;
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
M7"<4 6K*3'7PC<X-AM3@ZXN4XXS*B:)C\L?%+)!6X7DEMT4Y!$L3.$FETAV
MV8I;Q ^GEN$KMW>U^?6@]27L,RL*/$E5X(; HCSB'%K2_ I.*P*_QD8,T8!7
MP?]"9.>30L&4?5$P7<"<^I(Y%55ZJ-]\3-]R*0)B_#A2T3GINZ=&(K#7%N"/
ML'B:))(=P=D.NK>8U[NMJ_=6<3Z3CB;.YA4L<6XSZ?!H+NL,C];E@3(1NMQ7
M1=0&DJ+-5+]0Z!K,+>BQWN+IZKDQ8$0B>T7O^CA^8AI@6>D<4$ +\6TH.$U2
M%QE'-(PJ]A;T<%J^F]_G!S?9L\MZH]R\JV+=XI]J9WEF.\U2F;\495Z +R<N
M6%%.FQ\3YS_78()53+VL3*:*;%R:2_:J?DT%61-*@BP,Q>!(/>L9J8_\UMZB
MR?'W7/%>K<U?4^7>M \4!O*GJO(A:O"^ 'H>$Q$!,)W[P@2#!-@_?8,(/S!1
M P<\F:JB)O P9@\#_<L\P,]OR^B.*#C;6^0GXOW''YX;PS$:7H'W56P<:]:P
M5KOY6._4FPVLUFQC*SV!5?^TJHU.%?NG5&U4:_7NC[6O3$MD4XJWA\L#1XVD
M;PM6\8Z(%WL>Q9X+KCJMW,V'SV-UN]BXD;Z*& M/;&_YGD<9YJ+- 9FNS\G\
M]&W;O=')Q/GM>5,36U@3>%B&XM*_P',MU[O5TN)#NNHMKG(%3ISGR2*73K&Q
M/17D-D/-I4(5B6-#8\$[#.R3L0+[&^@;U#=C_>*V7]7YV*&27);&F5R"0?QO
M1GI7H:V#\&$KS]R$9VD\FZ=3SI[0;LE&57E%F;]5!AOEN_5 $6/RIG0SI=*,
M9*X),NH!MM>X9BA"Q134V$4Q-,/B=-ZK/O$(2F+B4W23_,4.BM P>\FFT@4D
MYW&=*JH 7K%!W-X_1Q_DG-2Z[^GDQ4,&WM;O56/EWS8HO.& 8HIY_)(8,H>S
M(=CRP/'E!WQXFS1*_#(8E@2RM[L8/KC;K7X))AT  7IBMS>=$E.B-]%7FL72
M,JTZ[%'Q^R;'3;EIM?6ZHTO="F#LY0ZJ=>H_5_2)*<\1*D;,]@)>3>.I+ Z.
M[;BN\!#DVR!1A0C.B3_Q*&#_Y$,X*C$$J;02I&74L2T,%" 4\Y[8,.6)%WL3
MS29&XZ=[A7]I4SP31XP2NZSKJS"A&1T\9FV?6+3-IYH2<K/KC./IA$*$=*\?
M6V<I$ABA7FBH;7H@?,,JV/#GMDD917# _)412>6 \[X9Q99 O2OC=B9\4B/P
MZK<N?:BA)ASZD6V^]Q82H5^]2-2(%5-M;+'F.>@P?[_7J]]A)OK0+:;XQQX&
MF@-JGV&V1;(=#RDW263\,3QD'B?S";KP"=[BNSFKS1_<(>/$6<Q&R'=%& J
MXW@S:.NG^B9<Q=![6;JW8";RS<U7B?]HQ4'4A59VUM)LF5I7&F(O,AJ.9C'5
M7FP +TF0.,$>K/>SH?W&%C3=I/^B^)9@Q?_O[-Q%VAR%Y[)Q2!MD>; >8K@6
MP0TEC-KLD_R@.>ZZ'@<,'0=$[RF7^\\J1"%A+-FDB-C)*.!;Y\B#M4A"BF9L
MP@8+*/CUU@*: X9*K-J%(/DL>UV31B0TE&2^<HWN]<WU]>0QOW-LK_?=>?RI
MAG"-#H%&2[31X?>F%;O;II 6:P9XV5: ?25,=E_[\34KM%\__^C27COP>XK8
MFD^^PA,>,QN%NAN2O6<CI(A\8TA,%IAL1]]':E?=[^*<XZ9K/8(GLSI%GPN>
M8@F\0"9VG$'7?LT+V>^OHU9Z*;N8+ JM/IO_G6 ,T+DAZH(-7;MC?C8J0Z+'
M,%Z9]24A?@&/_UM"*99$%0J90(8L#[//9/1.FH@.\57*89_A!JV2H#8A(_A>
M&[4)20-_GH[>/]SW+!WZ)%QC.K:W8.:/!?UZ=/WV]';4I5H)E\90).U?&E,=
M#@5P7!_"*E\%_%*8LY('HB1R\"0#:V-RGK4QT5_;6T@?I7+_::&2C<'1%\<X
MNURIYL[-+E<>U3*<CO[R<-&YP,RP'0H#S71%G1OS9G4EX$%8C<3)\__[?_(4
MF?NE88)U AGX8?B\=O&W5-H4>HNWXNUU72E\EJMA"FW:U7*S4:[?UHM=6&T#
M?N-9E'>J@C$J11C/*IC/RC59%VY*+WGNB*M@2IY5,"]Y^KGQV- I+K>G*IB,
M?Q&,H6-O%4V#]T,9L)PHS\ ;FU.@1:"FU4JHI^12%PM:!?P Y'306[PO\L6G
MLLH^:W&ZN289*0C_K<&%-LDI&8-@:)U&5TZ[_CW''H 9)/ 8BN1J/C&?R)N"
M!2BIF1<>!F_D!7K7=B2WY/]-BI*^93?)=1\-8:_'$LN8CEELD >#,SD*+[!>
M!1L)'4;*7.-F]),0GH0P>2'<Y%C'A@?1.,44\ +A%1,Y6A'<F+Z(<3QFTK"W
M6/#SI^E7Y[X_C^,O;AU+#/]5FP=QI&FEE#F9X[FMF2CE36S6D9O,[?!;V=L]
ME,X6#E^CFB(;TZJ)WX0Q5\#S:=@T(?,B!V?=G&3X),-IR/ FHRCV!",Z1^.T
M9__=;R#!?LU-UJN[(AU2]4M7.<"@HLRI\[HN3. L(_"@JD@2>-(:=]Q;?.GT
M:_7W _]G$:>-VGZB/ON*]&S);(?J21[!?;4'#;DJW4I#\.)90%1\I"QL&H'G
MB11LH(-GGY/<G>0N4.XV6"W4%@V2LQ0-KKOCE[J-2.XP>?ZBU<.J8Z6SUS[<
MFXI\CY_V9JV9*O06 CF>?73N*OH;<]A1G9# UN3.YZ&#%CMT@0.L!/_)/SP
M+?LM_,,$Q#JFJ1.V0U:]45M"T\XIFP:&6@0V)KI(P^C9N=OXGY-,GV3ZL&5Z
MDQD5-BG]5TJTIX%57<6 (-1WH-LJ"9:=?A;=N3AY_$/(;U?4*80#WF21"JW.
MC9,\>9-_F3?I*SHQ+9/XG?9P@B%P(N\UT.2XW,&3V)S$)MKE'SMWF\L2>-ZS
MX?1QB8SG!5_T*HI;M\2\VP,(6F]!D;E;0IG^_OV<;NHF\0!)DI1&Y/&YZ7%,
M%G0X9L2*E*QU&SRIL[]&G;D*Y\*)6#S[@(X]U(#.D7B..%D')W'Z>\1I@]U
MQ\YXT@SP5+^!,&V<<.]S"@U%Y@5^!C;=EP2S4+@G&O7UIS !>!,@T/F*0H8)
MH0N3;>MW3JKL&ZDR+R&*:17$GJ"29? \Z]6BX[CTV$F23I(41I(V&03Q)^=D
M*9SU[&9W7((4OKO.^@DT];&@%GE8EH_&AN_$&#CHV$%YS,DC"/!$RX.E7A-8
MP(MQ,H\ID%HG!?8M%5C8]CK!\A/3#HA0%^C79J? X"3CU3_\@!79CY,LG60I
MFBQML@2BM#/TD22<S;,X0QV9=?UCLSU ;K8'G#UW(:ZC(@Z' AR4('+2*5A@
M([E)+)A!0 M$;9AX&[5.ZNVDWD*+5DS38?N.^S3K,SST:+3=2;1.HA59M#98
M$DR4/J;>@E6@<#J70GGJGLV(\F8SPG"BZ[+5ZAA\H*AI@JX]<M(,?:((.R!R
M\F WZ8?C*^<P*&AB&+ /BVP89]'M!/T^ *UY)-#O>%HU@A#'LUV8[8>1T 46
MIYD4$KH[1WYO:]&<!/HO$NB]R/,F@REV,C.7PQG*:];XL<EPV,0,'6;LP9$'
M6E+71V@L@P/D"5[@,0_FI%=WH5?]FD)^+Y6:Q(@,)G8G5O_!&-] 59YD\R2;
MV_DOVX\^81+(Q/H.//$\ D_)<U!@'R&?Y5P5VRB(Y8 '\/5HW$'PT)5";R&S
MQ>GK%_>A/0^/>NC*44_# /(AS7B!SX@R-C"GVGN,"@%\CV:%S 5.Q02(S,(J
MPD"8] 45HTD<@]<9)FH8A^:5P*(O6$;SO^OC-0IPXO5ZCSI[7?+ :S1$@^@0
M8I?K,(_<&::+.MQPV7>=FWL$;5W-R<0N3,M2)%Y@?6.^V#]0\6#G;JK1FZCF
M&CHQ8HC)&]F=:)_T3JBV07.RL2M<2)RD<G@V[TNU'X@U(=M]B!I<.F ["YC%
M9RR.-LS_*3='$UC@$U/X@#+3$$?O=+[-L<V 8BG_&5"N< &LXA"YOBB)NBAH
M@>.?6,_Q3Y'>V%N\-^YNBG7ZX7/ 'O7D)VO;&8-356$H"0-C/!,25-2!0X/,
MK0N3J:)R0,%::((!>* OZ)^"(*,'!IRJSN$ *6X"''KC*0[1$@$5I14UD20,
M19F3!R(G@6\%;];!DYGI3)TJFJ!=8,OIJG 9YEO^L;WB!YPBY;X*X!<A=<:I
M8$'*9*J*&G@)7/\8"J YX^KG-[I) ^=*,;U%A<I1@B;+[0$99K!4I5JKMMO5
M"APDA14[G6JW@_US6R^6ZK?U;KW:^;'V36DID]/(JD)V98WTW)&YXDP?*ZJH
MSQM 11:_1,WV(:-_?EOX$.294!P!29W?(3GI+9YOY((DY8E^73KBB5?DRN1(
MCC2C$37\N);F39W>T\"L$$P7+6)Z:4U2,%83-$4T['Q2#Y]Z\P>]7GA BPD]
MLGQI')C]/>41;/U9AO<>N-$^.977>F*]-^$JW>+50LRV>HO68ZWQ6G^^?BBL
M!&YKC$#0-+%5_ G^RUY#" PM$4XGE\":C<O:6K237+:90@&G%#BDQ35@=M-T
MG5#CJ4,<P+J?4-2:PY6Y:>F!GJ\:<)B@L6MX2)Q@"SB3]<H">]/%DXK>W/SM
MCH>.>3Q;Q*Q9G,QYI?=B'HZ?"K'\9Q>%.F-@H=8U;093FV5%TUV:@[WAN)OW
M^M/-C(FA.3:GT;S4!%H5)IK+ D<%UI6RPO8/ 82@6:+"ODV[+,JK7.\@+L2M
MG!N'GW*N"8-S\>M\+/+ F?F) 3:GQ*^^*@'JY<\NSVTV? (W,!L@/BU5 2I&
MG[<D3D:^>O5])DYAB893C"9"F:)JW:=\ZS6Y"SA48MG[)K96CF."M63#/18X
M31@KDOLV#FTLQS!:@Y@IRGNB"[/_"28IU-G8$4 JAQ<*T4?$^R0IMW2#OO/)
MQKS\L_$;KA!X@=Q\]\<XV>B.Q)4*#*2>V 4Z2U_J+*2^&HO<[5MO49F71S?R
MN%RO#Q.U M85^UH\R S1;!M2M$?N1G";CF3C3NT)7TL5'4"B&B<VY(R$'3=Q
M)N]5Y'<8ID12I(TK\K'=L7P^BQ,%KWJBK:V44I!X>Y46-.H]7NQ-M)6,YZ_$
MRGUV*E7)P4&8*(]>R/ZCO;DV #4B(T^W5 ^QQ^V&5P\A;ZX?IT--2C'%=AW#
M*J9H1[H1X.NB3T/05U:(J9;F#[.O[,O;H 1[XJ80@-A"0X'E JHZ[8S=\[,K
MC!;'L@[I86<+=@_[J+R079(I1R1*)B1**^"9)^[,^OQT'9EVZ" .%WQ#^$*8
MK,O__L_Y.583!8G_B;6X$7 (.L+[#";\?V)T]A<&E2E\"W9^;C('+WZ$/5IC
MK^>Z,D7[7?[">B"+EA8I_QLNJ^M% ?]T&UB?)\+16WT9N3]'$KEV;B>D1<)?
M6'<^!2LHJEQ?'/S"8)+2('-#@02E"/M3_UJ/P3^M.-)BR/_^"RCO<0:JP+V=
M&V-!?P(%"H_03O>L!]T-@KC9VZX,IFM?:%\F7+^Q1!L?I2\,=LD[!LQ 3/O=
M8J\(&?8XCV^CZ*WLMV,UJYQ]V0:NU.X73^6L+%#=PBY0"*%6>JAT8VWPRA+Q
M]-S(\<RK]+H+B,+FE:+;,9,P:L'?&7\ MC,P^%#?9E>8?,-:-\M7>)9(_9.'
ML%C#\EES(:BM,1'S_GMO,:;8OCJX^]-@TYT#M76'A>@XBP2[/@LZ6KABD=43
MM[%EJ9(-27"8O6<"$_#IUR)%7Z@??F)'-8$) 676PQNYV'.%R0+ADQM/B-PI
M\T5"%8$G,3L^,0L;;J#MX8:CY6J_WHPQ !A-67!>^+.W&G4]^U-]G@R.IG=
MJ%A1VD; $BQB-'[V!8R<*I9/75JV,1\BXCB B$>P'F*C-%F"PK/,-VW"<I+3
MDYSN2TX]BV5SL3/3-,QAIC#X\A#$U-,P*D2"=$$3R(1TT=>3WN+N0WEC&;7]
M41D?=OACU];.LA@5KMB6U3UUU=W/=7-(<8R-.#V',HO?+:$ C(X<<5P=<D]C
MK$Z2$AIVZ9"4",W:=W/M'\(-7]T*U8FN^5*G_O3UAR>%-^%H@AY;0+*2.Z,E
M>=$^3LVE]R\B1^<]I8OY75>@^=B%*"0P-0KL=W"<3@U-3\*9>&HE3R686CG8
M6 (3 98-[0H42;AM+&;OM=YB/+J6U;&6O[I_.^Q00L+([BWURA;8K6W40&08
M]'8"&^T*!(2/<.?%KL1B"@4\1VZN84E<LKU!4"=&VADC>7J?^=C)(5_O<X=\
MY.[:=.@.GI?*W4XR H5@&R;?5F!#-X?:WR)/M LLK<UZFT:VMIQ7BL)_BI)4
ME/FZK'/R" YM-]30,B3#5>K=V\4]U>DMZ*E:>"^*A6J9.VQS:=>9EQ7QC)@+
MHN IG!QYG=L#W XD+!).QB(8C+$K9%DRBS-D"A#20XZ'G&3G[Y0=;QLY=BZ3
M)'$Z#?S4[D0G2LL-&]WK\H=@3FSWL@,^N4%7[$CWX]?<T:1F]I"(L5'Q%-\]
MQ7=3U90V7@MO513BSW<@6)RF4A@P?DJ]G$3S<$4S;.JE0/X-J1>O^,*RB[Q-
M-P$3HFO8$/K2AD!(#RL-\_@Q)+^$JR';9HXUKK!#L\(%\[3&>LQ/JNRDRA*V
M,KSD.8*!$;N9(QRZE:._0^W*R< X2>7>I-(S(%*(/Y8AI8#(GH7R^/*0X1(<
MI^S:*3.Y;]IY>@Y40&7\FN-@8;<L3Z%V]?N-T1YORN/"R5/8J.6L'CAN0-AJ
M%N#\9)_L.4%SW*:)9TEM/&<A@3G=%(43I._0V:,U4$Y2>9+**,5ML832VU>(
M#3R@&#S'> %5/<GM*6#VW5)[C'HNVQ?[-#"V6A?_NS;#>6UL<I'M+4K7GPI1
M*=<^N-=4AQZG/:GZJ,?]=L="IJQ,P.OFV)C3X,26@,F.: ;S=*HJ7V@RN31W
M3WFOV*+@P3T<IU-B2J#![TF/I7V<%.39E!B^W/4WX8UW,_FQ$ %SH0&+7/""
MNN-9(HO3>=\"+RSQ4<J?8W$P!LPZQ_K&/&X1&,TF?3!=@:P 6( ;<:*LZ9GA
M3)^I II$CXGH!)&!#8=S(S*)D$]6O[>&<^.8-NN_HC'ABC%66Y0!\_&"+J@3
M\",ZM/X</F/\S)E,(<)GA:^IJ,)VEB*:&IY9SN1&Z] <D[D3'BI/$\29[8I9
MC7]O*+(_8P6.DR^M7,%8K^LMWNCJ@\+<,"2;/5*UNJ91T-#Q+JL-)8H@2O5"
MF*'CC68#:[:J[6*WWKC";IN=#E8NMMO/M6;[J=BN=+[WS'%VOR/'0QJ,7OV"
M;]%8KVAK\(A6)AF#-&F:\^K9"SM?TX1SP8F.TUW>J_EBZ'O5ZT8%=VD+\(_"
M&Y>HI6*ZGTIWK,PT3N:[8U'5Y^!SST!O6A>I6BXRA?Q5<SKNGV&ZJ,.5=Q6=
M6PV?MG8;:]!OS,O76'TO>/$.11V[YRS%%/ \L;G"+,YLW\C\&G(X%V),TEKA
M5N/;5@Q([80!F[)@9\#*U:U*/N47TX><#P/NF^G6%NQ@NO@#YK(L\!8W#Y5,
MC]/B]-,'3$<ES'3AO8FMM-ZG8F<ZH9.O?51SO_5\X4"9;FW!#J:+W7>/S69Q
MDO"*%NZ*Z:*HMUS"G%;8":=UH*=HYS5]_,HULB1+#J0#Y37'DAW<%K^8 &=9
MH.3R7JW1#ES)%1)FO>Q.6*\AKE^MDZO/6^Y#Z]Q<OQTHYZVO>)WQR/A8;9K!
MF1QY'&J.(1+F-39E7JLI,W!R=CY3[OZ4\]SKD-8.3\,Y5^O@L=A. UT 5VG^
M^.PW)FFGH;03=G,X#4SI22R1U*TRYP^4XP*<!C*VTT 3)$YD-_>P. S%EK2G
M4-X)ISD\A5'CF;VJC$?%/\,#Y;0 3X&,WZ&;9'&2W7:P_&[5FP\" +PDS.RZ
M= =7[\[?-9EBK IK&G,F%#KYNX_9X%WPX>,X(W9WRN?K6W)P>FPOA8((FJQ7
MNX 0^?J=*UHW?"XD\N[L$IWV[@7!*](=1P86T]+GFW;[46$A;.J0.7B=,ZG8
M;DQ0.C@QWEPA/0+!'%5P$Q+/G'8U;#4;4JI9Q[3Q$(<"\/@&T)*BEN%TK"(,
MD$;&:!+'H!C@*,EOQYP,!2"8G(3&4&EP&*L=)B +>N#02@A)<8%0\EM=HT'P
M$^M.K1EK+LH\&A^[*D&QKE2HL=]+PALS7Z7.FO[[2/>ZW+!:ATZ*[?9F*1HG
MJ+PO0(7[X$0)I<4A*.2A P\X8^% +C#G*=*A3O%6G(@Z0H9H3?E!$XPC)4@"
M'.GJ?OAZK+RH0Y*==ZGE<: G!1Z;Z:(D+M KEL<0%2.R1D#F+/3I.5>/$%E8
MHWEKLL<2;@/%="C"B<72',<^17UL7S<FF7O1%2 00TW0$9O-IO 7>>(_4$H@
M@ ;2WA0N4<:@ ([$#T%&8)D+EXYW5&QOK9+^:HV>3M4]^BH@DHJ*^. GD$@@
MZI(((3'%P0 8C9 1,DC>Y $P,#E1UA%78882P( 62/R@OS<F\WM<SW;DIPH8
M:"2#/VKVJU=:(:2Q(=!]@+=,#C( ?(HF(L6%?8X%58#7.OC_HK;Z&& T<+U#
MH.#: UA?@,I) _L$'X(Z*3/3X&^@83!15.%<$M^ FCO7QYQ\+BLZ^(,J:' X
MY056F:G61Q'"#Q, @7BWF8&L"0CC-NP-74&(5JO*!PF SW8R@ 0JG(;)0]AA
M(,#U05Y2#@++2X(,=+2N&4YXW7P-6!KZK_?%5.C.BAVA/[J[I9<7D_VU:&U]
M\\4XMES;)H,ATM+.XMUSL0-(#%G *?\N?.CL7(0O;45X>DEXVB#\:'33YLM?
M\[L'YL (3QN$]ZE!H*G8T0PFR^!DGO4E.Q"RJ0!^]8%LC*D*WJ,"W8+Q,RA
M*Q*L:88^^@T@@P ,9&1UK$G3!59$-KHEH!D? ;4[!+9#6--!_C+KZ060FQG&
M$470[L3FF)Q^Y&?B9IZ(R0CA@P-T[.  A>=8!B<\86L!$E8(3S!3B*ZNJ)<_
M^?+X[6F\6X)Y2@8='^6'TS2#Y_SG3^$.X4#0^(R([DMI!F\@T8YN!]PZY>;(
MW%80,!WN 06:H/L%9$:"4V$P;2P(.A0124),K\(7^;&X" 0$HN17PO)__T^>
M(G._M(PP'!I+0X\ 4U"XP* ?H0.O  @DK-H HF4"]*%S( FH-YIA.BFJ\5^P
M8MMO54'B3(_"=T5:9OFGBY.;<%CV79'GT3%Q$N#7C%/%<H.!.D-<JP.K33-F
M@$\%\&FD:FV'#Y[4!, "/D*-'E2@[8<!!W2BF:*!<8#3EBP-OQ!(P&2JR&"S
M&<"/-C-3^ +?"[[B'_.5/YQ7AI]-9[=>C:\!+NURUV[U9D>P+B,@U2_.JC)I
M6=LW^JLBNA0-.CGNB:?6F*=G[W<EG5RJO6(@13?IOHCKB7")Q,\GTS1.>((8
M JX0<GL:FU<+(4SK4^9I,:AD#XC&WO=.;$.8+- XRWJ!D0P:PR"-L9J,]YZ!
MK'C$6'UM*SZ"X/N*?,;+V*(WVPY+^H<7-$F1V:MIJZW]YKSMB^#MQ+0XPBPT
M@@1N@9&DZ!R>I2.:<=EDC\(R]:ZUPB.O/;X4J6,X"D]!96);U 6"P5G&MY6"
MEW6()60=VFV2XX[*.>/+29=C,I0S\%[E5!E8P-#[[HR!2>)3=KF6,/)]!LC
MI#"M \;@F3@3/[8ZB)^8!EA3@L796KB6__U+DK[(.*HIJ5IO0<_S-5J69^TA
M=W99;Y2;=U6L56UCG>MBN[H\L?YWB@<GSFFN%,^J6M?)/R5.$P= :U5$::9#
MY190_FM7W3'?V%N\#+J3+'^;>WXG=YF+I]D+.MFF*O80]11H6.B<0E3,& :=
MP#G""X8W:&!IURFP@C1((TNS#CF@2:'# 1Y=T[(HTXS\76SEC\ W0C]%%<;
M)X$.M?&'BTQI\S?"_PTX:3 S3"B8V4;5Z,XJ]%VZE<D?2F"M-MU;#&=5];F>
MF[):J%KM4K%3+V/%1@6KU&\?NM6*4:_MTD?'6*MMG)H)Q^)FNA*F?#L/2XW-
M)Q$.R7ATGR7=RTYUA4+/*X=Q3=*U:H%YF12$K>J_X1LCUW\GMC>FYY4FJ#>Y
MR>^G[O5PR&V[M\A T] 80=]CW[3]@(]O^;1GHT/"=KTU!-TP[B$FHB<:[6#.
M@O>Y50U_UKN&'XZ(M;2_KJMB?V9H ^ !0SM!!?)I]!<Q?(Y4R_T=GXY55+]&
MUWB)/28^,APGP#&PU.8JTM#U\D=-Z@VI/"9^.S$\EV/Q? AH\CX:$UP^"9!^
MT @"[^!&T,&=3 #]D*$$#*Z9#LPO&2J_GXG4@?A76VS^H-<+#V@Q&V=66;0N
M&J0&3DY?4)M#Y"EHS16ED07;FXI\;T&UQ]2M-NE<5\A4-*Y7'U?T]2G3-UA<
M(Q$JIN8LA!3H>J-F$VEC";!A)\ZP#%[8NK;F:"F\06&R80-X_O2E&3R?9&FF
MMW7C0PG38W<1Q!!+71*IYQL])[QP,<0R=%'(V:6YC$/D%3\*Q9-'-BPBP)=?
MLGD"SV:],,W'*X^1:+Q)(L/.-/&7R'P!9[+'54VXYC; ")#=O@GE1YSLGMT7
M(H?N.>\*]NVS,FZ+^C5'8K 6D.4PK$-/B.KC5^DA+ZD+>57DO#7W8X8)X%IB
M,6")IMKR7B3_46NT_M#M5I])<)7F5V[2LY[$C'ECL;'T*7 *6Y9.C;96:XOQ
M5AO6@?5?+7%!>3FQ?GVRP[?+#JNOCE.6R5"R[ IG/ES/_[S\[F?+.I>^,)="
M"K-KE;RLO\KC_'7I3CAD8=YD&L5S!M,1Y0UKS9))"++7!-RT!=E5JQQ8JESI
M+=YULD"-;S]++?I4JGQ(&W*E[(4OA)ZY_.__G)]C-5&0^)]8"_@QO\ KWF>"
M/ "/TKE?V",GS>!;L/-S4UOSXD=876NFVG1EBFBP_(7U0!8M+5*&<'.2CR1@
M,L)- 7]C%ZS/<^"#MSEM9)W6ON[LLG9N)Z1%PE]8=SX%*RBJ7%\<_,)@K;-!
MYH8""4J1]J?^M1Z#?UH)H"5]__T74-[C#%2!>SOO"T##@'=/T1':Z9[UH+M!
M$/=\"3OK3]>^T+Y,N'YCB38^.G8!^7827S9J!S*:K@"A5*96.:&B@6M<4">:
M"<B0>;/B %[VO* -P&UO@.H:BBY@)(-CL!:"(GYUT)N:QIO0[\A?X 4SB<>F
MX*.R+D(\O.G6F3"2:JL#7H4@\D:)!(X!6P+[A.6,L/K0#N(SP'J3Z<PHVH;0
M$0L/ E_3%P;<3$,V"*\ #8-]HJ\><Q_@RP0!EESKXCEZ0OQ 11IPJVN_S%AD
M0(;-$D-RD2Z@*4O[ YJ*8'G6ZCK"8&;,7J@:0L7#[RNO*.)&*_EAG0A/K%-2
M7]9;Z%HG>]<61W^HP3>ZYQV &ZJW:-],/N]FE6)!RH8!W!0;W?HYPMK4'\$O
M6MUZLW'4$Q&^'\JFXHFR*0XZ]]FR,'P6WHX895/T1-FH'PNM7JAI"YD]7)1-
MA$CC"G*2(I@A\,5^B(;@AW:+QMC'!CPS=_::_BTOH.($]MR >":>3R6W'K*A
M6]%N4UBFU=X['6X1_PJ,A"1R:/%"H-EX 5LK:I)C6)P@-G=!/_ 0Y]&?\Z;X
M6%A(G-\I$VF=<K3X5ZFW>)IR_3]78O5:SG\CN_@;>,-=V$ G@]S.H.K*EFJ.
M,D6^KL%A=4TS*_8@D(174AFKF/]S3PLWE#1LK_IJ+Q>#(1\>MQ!^(EJ0.R5
M;-B('1.3[FYN*Y_TTZCUT!J+&W=CPRNZMU2)<S9TPKL9?RGW[79]-GKOQSZ;
M6NRS27HW%#.G!K?OU]U&Q*,)O#S\#R?!69]T=KW<]UP3!O"V^ 17H2;(FZ^*
MZ'OP1?!LMY$<L>N-!!P&'7,/U*$=1MR-,-MM1%;"I.:B)N_L_X$5>I:$VO6,
MT2!D116,C]K!+<'6,GN_X_=1%IW+.F.[%5$;2(HV4X7F$!K,@JPAB[EM='\H
M*YJN6;EO@6^9?8'\BJ?M;:.V?'-OP>N#UYN'26/:?CN*$FO&76)=@;NX*M$/
MU4I+8LXN.]UF^<89:=UM??7)%M]R+CJ'V7-4V%0"W_./F7-J@7^8J:8?1M\M
MLZ<QZKH[%C4,?@*V@] 5H"65#Y$7[(V*1!F&+X%'BS[P)LPQ83*5E+D %IA1
MAD-Q(*A@J;RH"@-=49=),6TF 9UJU"_;V[S /\-R9VW6UX"WS*DBZNN)(6<<
M?L58D*8(,P/[B<%/JX+1W6L,LU2P<\>R4?,4?+4BRX*$6LBN]=N#+2_ CZ+9
M47/9!^I3!#L'VYS U!Q\I38;# 3-N4RK>1G6A\T_P=\OL+IN],S0C1M!'W/Z
M,BEH7"89U-[61E1(!F APF0>'%W_/@-L,A0M*]%ZVC@5<+FB/N-&9A$V13,Z
MB%OO%-9.ET,M3<$*@E!-2)6A#HAV95=454X>H>+RTGSU$5/;%>&WHO_W**"&
MB6T8^8 Q"L@&W$@P+.MI;]8":M0;[3AZ'#%/H])H*G*V[N(&I4;@RV$^<KI\
MX28[)I5=Q(NFY<(VRT%F#KCRX,[/*9O% XEV=DEZ!EN0>OJ/Q8@F<V0L@GV*
MDH1]0/ZW;!-L-4X>_@I]$'R3!+F9PX0O86"$5RUYA>QKO8W#)D ^Q7/TGC7E
M8;S&:)H+.$N 3)OA4&@*?3W@S0^3(65 /Q<#5I)@0)-;X.$)?%'FJU^P?XW
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
M1#"]8]%WM\[P.-G/SK-P?S>\7K3$ SG9$&U3-AWM=@U4:+\>H0:0,ZSPKWJ
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
M)77\GW>.,=]S_."Y7-F7-\UH=]BWXQ\ZF%DSO/$6S=3!3)8;SKW%X '+3_K
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
MF(F[VW(7??&#?#&#K/8ILK\M@?Y 9+LC^:]=[>1:R'D?'&[S&<ATPN2R1?A
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
MM,]U$P.U\8[:6%_D)T,/[#:. )F>H6$/#?F'E[^Y/\"R)"1U(T*B<) ^C2Z
M@^C'64S%+"\K"']1(ZCJF*=MB(N(OI%4$__31$T-R=0;L3'+6_1NDQ(";?
M*$Y^X3(Q!1;XA_G-_UDI.2%"^OPC332)8<'MTA&H#<D<$2E$9E>U]R V(5^Q
M89E)4 OO((6//9LNF^#**ZH]\;\:"+Y,BD(-'3_:Y^62@P\2A^'2W&9-M4^(
M[J>KE_XA[_DMK-["&>6#MP7NMLFNF-/PUD:RMU..[I% - 4.<NG!L00.PC!G
M#S,T=Y9T%_ >:0K3EOH0SN+H'G,YZ&9B>QCW)MOO) +]<R#Z)X5D"1\UG*U*
M! 1;.C![FHKERLWD;."3=*41&6CD<A[A(,)O#+@)T^-GDIIED(S4"Y(]Y@]!
M<=,T=B+%(W->#!;XI@,"-LE+$;!JAV0_/"5GJE;'8TXW. *J&HA,9\(T>YY6
M@RX=7D.]&:(?\)<4U<U@$><*]!$)1>$RBGS8P$Z$.A5B8K<]36R8LXH87@SK
MQ\2"$@VX_D"X/J^'9'#EJ!Z<GN);,R+1-(R?#IMS$]O8,A'/U98Z"#(6,RXY
ML\PE-S8R_A+YSF*F1V"9!DD_8)IE[**#!IZ&&C1A^R:@/"6_:IDDVYHSI2X:
M&&8GY);DN3X_\>UMFS)]%4(9 PJQF)+9DO19FP4?KF%3I PPN\]&!&YPPH<Y
M@4F7JJ7IJ\Z8MQ'P;! S&8@VE[=:2 NY1[19Q&3CO2%Y*_JH25II8K:FYQ.B
M7I:G1@+I/1#II06!(9(FG?+,G#AZ _B0,O5*!DCJP,E2/;\9Y_P&)N7#_^33
MN0KY)_?/GQ".Z[SKBAGG1U)@&Q:I4 C--%9W%.*RTO 7[Q+<>M _SAHM0LL2
M_XDA-T# SYB(OHIWSGO< )MO8H&G8P0G;*U1EWFU:08](GF^(M8L*ACKR>I"
MWB;2&!ZR!-CLZ3(-W26PC0U,KB>LD[^KB+@1#.P?2R^$/,N*Z27/FO%EL<=I
MJ31@=J_*I@3,$NL)\2(.FJ_O#_!E9&<:R-L#T)K>+E -NKCRU-1'P"\*^?$2
M5D98[S9 5S7PF;VQ"CX)7-@%9B!95#*!ILD9^6CY$.3SS[#&=DO!!X@ZW+.Y
M#-UC 3< -."O.$A RV*A*0<QE(-"+@<%6NY M%P-1",T@(C7<!W4S?4693F9
M=-S/*2'L IOX(9C3W?LGB%WQW]Y>),$C0L#('O-#E$S8%2Z2#9.F.EW9'>'
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
MC7PV1%U=O,%E0->CZ'^23108Z#3J-=#![ 3Y5^]C@VH :*<[H0+TV-M(=N[
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
M.#P[;M$>0!.@!9W5%+AA2874=Z\FVLB96W_1Z[E]BV9UT5A2#VC3"WEZ(;Z
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
MJ.?;;>D^'Y3N;\JU4_J^IYDDV9JT.UP<*LO1:;*'=6D?VB8GX^ #ZWG@"ZK
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
MA<7*(70:ARU_Y<Q&\RO;6@]_[\=TY?RA[("LX])8;#FI@D5DKJS5Y^&R%P=
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
MH%]6)+<\GT,BE06J;DO  =^'2(D+6!?O&,W;O^'(%&M!^G0695]YK L#)0^
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
M<[%1]TI7G? HN275"Z&BM[QR]/(N>A&;RZK SI\N3&Q$*JZW=#'IW#)V*VU
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
M51U]-#;B[-/8"S@<]IDU7\B-V_9",W06BM"JG$\"^U?-1>; SPX^4YI?_D;
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
M2OXV8Z@,4._&Z&J X9L53!OJ-18SE[7[>N>?>M;C--\#-+N1F><AF7&VV7I
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
MOJ:>-ZD'9<!>9%71K),V!5R?R&H#ZY[%*I["BO$$7++[NTL:T* ,T2$[.N"
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
M>E89I5T=JK* 7!VKTHAZYXH=OBX[SGK$[GR9:^P<DEK<2\8:"[>CDO7.'DN
MJE1(+$$S]S%IEK-+/>?4Q?BGTR/!VVB_S8[YPD9QG'X):)7>I>0VW2_S]3XN
M\Z=FDRR/BBSGQ8&9-$XWY6=0?*PSEN\VU<B9/TL[#\F9"@?3),YMD9"BKBJ-
MW]1<E8>J @&T(D62%CLG;:\.(MV.A1.WU07$X%Z U0FB:L4KQ-._LC6V3)Z\
MQ#MMV;TO$6%@9^0VRFB$$\2S-3L1<!^]X+! :1EG#"K*:0QR@K&M^&1 .6!H
M?@+X+N7KDE@PP\\8\2*@<)OV.SC:).,](3BAUI @R8(5OPF7-F_^9\S[($N"
MGU">T[RVIYK=RGD[M# P?#_5@B[IR_)05:!WFC]A.KK8XSM*@C%;,J?&_13E
MS^-]EJ=;3.RXW;<0M[F^AQC83@/>IP0PU!T$6TP>S@M!-#!/-PF_"/PB<UI\
M.]$TR_8XG":3U]4SV\Q+&\L<DY=HA2WFN7J7X&KN:Z!IU7Q83W7O]!N.69C9
M9Z6@HA@4):@JB(_AJJ*\.U#5OEW+^7Y;;:<S_OU,:LWYVZEZ9^DPO%*&7O.C
M"ZA9$@A2$OQ,\="0NCCS6%ADSTH[==>T[&-4EY<VNJ"(V0-PEYFS_!D3U"H$
M%:5XYV;WM)L=)8U:/L\?6A#0H *&=W8X%2?QZS.NWDGV*<.S=3E/C#.%K5TA
MEQ22 VPRIBT!AB!26%T^4"$VJU.+>>?#71"1ST&\I]C+*VZ">)ID.=EOC\O\
MJCD .UVGLS1]S&G-R-@H@N%:'[3"3 O515R9,;%61PU][ZRD_?,VJO->LE$Z
M=;TX8?=+6@=JU@4X#M5Z&M8)UBRUP3"U-V1A"U%3Q3LQZS0IMIM$5.)>$M98
M;1*1RX(AE &@.A42 /:,65VQ&4<^JHZRW\8$AU'._J5L/AH-MX[+"+WMJ93B
M8)ADQBA,^M)'Z&.0!$4^!>]\*FY%+2Y#M7-(6@WW-]5JH8O7U$K%G?+I!9-E
MFN%[#:W,4('>?JQ(V*P= AAT "385H?\6@4P7LH&I6QG9"GGG56/)$K)(Z;_
M&S[A*C_JBOO<4?A?^P+F+<Y6)-JQ'Y7;B/H6XW9'US CVSN[^I4!AJ$#@4NN
M8V[I>F>NYD8BN\ZV3P% [IBRZ(KMM<$PM#?D?G>E>6?J _Y2[MBE(^5'DB;T
MGRO<Z"?L^-J_&*>9/ 8:V<KMT;,,, P>"%QVY3W+"5<7A=IE768+R^H9A_L8
MS]9%%#-;W^(=P:N(N_D%V]2NW;_22]W9YI4!1M4[5WKH>F?@0,#"CH#QCY/;
M3_?\;H6/D\6/LUOVK]O)X]-D/!VQC&R7X=Y^NPW(8;9^BC;/>;K>9X7?IST!
M'W7=1\$RBFF ;:;AT)*<,?(T4VMR#BL&!D]/PBX>H/[X<?3T,^/IT_3#CXOK
MV1W]?5)<)GF\YQ?=3T<WT_OIXF?O<4!U;$=^6JB8WKI/LTQ+]E,+<QD3G&9P
M,S(85I)WUI\%OLY7C\;CV2>6UH3ZZ<GT\^CFWG]6Y6-W5)\8+;:-YU;$ME=W
MFJVBIU&MY!66NF#HVA.PCJ#LEKB'Q>S)O_=5GG0;?$H1VOG$82<3X='/&JJ.
M>(]/L\?)T^+G*S3Y]T_31Y;\Z1@4_#B[O_6?<*79S-K3'M3H:DZCM\^T+LF7
M^^QIJLJ36A8#AM7#L>MHWKE2_79R-WV8+EC4^WER@3O6S\;YE.V,BG+,STYV
M/\C=GEU\.]JR)&]_YX/8R2O;I(Y[-8;SO,)'*SGGQY$UGW.4#ZY=G=$H78.;
MS!?3CZ,%;5QWGQ:?GFC#^CA[6DS_DT^2H,E_/$X>YB?'X(:).N&2=/M).I.J
M^PDZ.V/$R3F]GG=Z#@"KHQW >^Z/R]@_IG'(-M^WQPWE$K>5SQY8ENM<3H/-
M[29ZZEV0=SZ? [V.X./9Q\?1P\__^ ___/[=7_XZ1Y"N%U=L\C">_3&J =B
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
MZ6;2]4 Z.W,DU-,K0B.@%5HM#7EV1R@D++<O]O5V2BT?WLY@@LS;*52@D<V
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
M;)]G.64,Q7D39/+LBKT*@#>',0Q^MZ[Y4U@U>!O%>_JK8$B/.E05\69JT6B
ML#14*'BJR4E $HJ.#?XX9&6;DPK"JQ4]3(V_W&%"?>1VFR8HXSOI;1SH#\AG
M*^S:6C+)IO9*4?CUUP5Z_AJT:'].8O11DD<APQ*]X#E>E?>%3EY7\3[$89$\
M<;O;%S.)LW7W0XVVZ5XX<''FLEW&[6?]',VF<):"P<3RY[1&&-32LJ^KPE&Z
MXU/8WMO)(ZGO DE7OQ7]+#L?I1RJZA1<,MH,O$E3M308[ADABCM6J]T-&=.X
M*OQTQ@^M ?# ,GLD4:S%5VAI^>:8(1 WJ(!FFXC3EG+I4=,[[^:K9QSN8UP.
M 6_8V@GSVCC)BO,KA+#$*WQKXLWA*/-8W"0^8JN,NEP:9RS?)9?/_EF:K#];
MX6#:Q[DM$LX7E^6S3)I<^YJKH^8[4/,E:'EH"98O0OQ-8+*$&#^6ZEO=&Y*(
MG*-@I\WM;!^BU<Y.+A5. SN7*=*3^X;69&A,]X"RG S^3K-BA-'HU(M)M7/7
MA_H];Z*]F3[369J?ZB5.6^..[TB9YP')=7-&ES)2F&OB#UG_5P215^@&;Z*$
M#:C131"?X]RP=$<_![_LVE=$P*-]_IP2MN[V*0GIH)X%N859["AA-GG%9!5E
M^)%$*_S$OD?#V-+\EHQD'ZS;U[LZ<>#CHU8[GEV^&U*#]62[>-%!(8-V3(C/
M&_,&?8'V#*DS[2Q8Z9J]\[>_T8[7YI->J#O6O1I2F_=C>K?)5RHH*'00;OF
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
M:AU3\?M=2LK9/.55*ST+<1I(#3+0NO\12@##PD&PNT0=TSYF'^=!DJ-U2MU
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
M!6U!>9ND+1MU1!>Q+MHJ,Z&)O:&Q6*%!=2S6:L8RSO$]5= 2V8^WGT!>Z:I
M=I5VD*E%>0Y?I&?/*YKGB_4RXC(N^A6%^PACNND71\67'U:7*S5+B=(#DH0F
MD:KD#Z5\;/<M*(\>)"XO3^W<=']'188#7+?V?_OEGT2+$B$;LKK/KI>-GBW
M@"?^]5*CLU/@HX.*EA& C0WY]9(T="5=L!>!OY<4!J3O(E6QTLJ8:1>I/'6H
M0U"9^\@!!53$^:(U=Y!*GL1:$08Z%0RNOE,*,1&)9B/ [YW]JOX1%0\V9+:>
M D(AN\/WE*N8:A"NZV"O99L,JLKN =BM\TJ42-F057]#MQ%+Y7J_'"UEG'KW
M4#2L@8H6;[BF.Y56;*R"9;2_./Q@U)C:1D_\[VO6GS[E"TT"*S8D4SX<A7RE
MNRQG1;[,$K8ZW-'GXB3)5G]V^>H11<74,$[#Y5QHD%*%_*&4"&@1J1:"F'/&
M\P* V3M/YV=4!-BQ=2M=2A%9]0';_RV$!([=]=S]'55%.\"9D?- +'A57XEI
M:[O?EB=X2YI&27$P=N16*535W@NQ6_E:N#YSW"GQ$%/TW8;QGK;>^1E5G=NQ
M&0,Y2 5OZ.>B],6F9^SN_(ZJHAW@C-%;B@6OZOKAS14M-EF\6#?#=4B_/>=Z
M9HPN*HHF .][5J2,P+]:H4Z4UV/@55 3D<+Y/:<QA&Y)TWV4W(C=:I=6#Q54
M;/KC[8U,LU4L[H6NB@$HM0D7ZD'\&FHO)GF9()/%-3+&#NPU1JJC(G0:=KN;
MGC*C+U94ADUX/E&:0K)7N=MP2I><;2-^J-XDNM883E%4) [C--<>0H-HE498
M@X"SXRG\G,HPH%EZP_(_ 6,.R0G<YV@^.JB8&@'8XKA7JQ+0)94R608]3;O=
M;Z$=+=8W[&%39&LQKLM7\Q!W ZX@+EETSQ)6' ;6.-/,H"+X964P??*E-;)8
M$VD/UCW"H@HW(D_GE.-/917'0JAZ$BG12>2+]7==$V<13PX-IZ;%6DIU&\,4
M&ZA:P@L*8!RC-[F/5*@9"A9:'E^0ZPF,A/*UZT20[!)JDT%%6 ] N[L=Z\3
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
M1K$2/YL[*L>4URN,BAP?I$: DI9.O0%$$@BHQ+-(OZ>[B,5+SM(5VT7)292
MKTF7K#&ZJ+B; +P_^$^5B$=,5WMI!B[SE!URKPP%B?R@HE3=/66]H;:JWU&Q
MY #G#*TE!#%$ZW-6MB& JK9=Z-Q!E@+7=WW]Y)A+# %4]>U"Y[YE"[II.MON
MDNQ 73X G9]1U;0=FS&,E%)!MZ9EXH0<(DK/T_B.BQVSXZBP1Q95_7L =>>$
MR%5L;?"XD&HAV5$!A^#)^[GX&QSELW0OG<FI2HJ:GU ( U@%)J+YV7/!HXS'
M+(WXX:*@6_NRL<OMVWT)5<MX\V(Z G+=2ZN->% H H*4*009'8X$TI!%Q:@'
M4%O.G=B,V/*I2H7X.4C(S-?;M?[V,[E/CL90JSS>^]42X]@=*_E#,!Z)]0FY
MA$\=>U3>YU\>HFCW4[4U'=2PR8Y5X.>OP1GIQ]5E04G-B)8+6LGNVD70T!V
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
MO9IR7C,W_W0I_B7^7/Y)_!<LU<1?_@]02P,$%     @ $X!_6GF1$,Z&9@
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
M!#0"03Y?(]_/L[QT0.>UUX3]%TC8Q71: 'SJG.C3HT4?^T(73?A_M07^"K5
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
M\"K(JIRXN_0T<M*'5!^H)L<N>=TANI"0-,AK- AX>3[3K:4&1.8QK(]9#"M
M*Y;F8%<4RR!Z94&%O]H'?IG<MQ"(/-[5U&!BL3%X5<":T<<JP5?,QG$8A*>$
MY3*JCBMK= 4O,VC&8FTPP,_4_;$P";0>?Q T!R\ZJ ]XJ$./=<R9.SYB^8E&
M+.)T J\[>#ZCA%"THN*GEC4K&X6#%"2A"XC;$+R:H#'<(DK>@*ZXO\V:(Y &
M<,7+B-\:O')@W?4C(_Y-<#4#0Y.I)XW!RPN>RU,.Z>!'EY"F&FJ@!64&Z[)(
M"<,5:_Q'\V6?3XZ#A-*9VS=AD/L:#K4P431XI6!19M&3A>R&5)6.3$LYM/I1
M\(J*9E;&!1APQ>)9*<6:9IC2_V:5WS7RG?5' *_?:"8XIM" GR:5">>[Z!T*
MD/2Z@;(C>&E'8UXH6,E'YJI5O+RLN3'S5?W BTF>R7L]7*Z:]=EU&[E/N-@&
MO!2EV49<)>^*#]PQBH\:R7D%NVH,!5ZXTM!#7!>LJU[.)U1KLM^"2I9GL/8-
MK.M].<Y]>8P[)\*NF'F"YN 5+\V8*"4:7!\NSZZ/_226%081=@"O8GD>6TJ$
M@S/F=X17:SJA[@LUP5=HG&R>$9DL*Y4P%&O(<!CPNI1F3*P%DJVLS270H/2+
M\4#@]24;8:\**' &ZU0/I_L.#IF]1EB0K(^R_VI<G6]@;.U[W7:(07-P@DN&
MF17ZYP=]7K5WA:DY]$4F*Z/3$@;)J!6G1.YO-&07'+K>?R=91H'Z686VOJ<K
M-NU=J&I+;-KE$+@ <BC;S['94N:-?TA7Y-J['-:6R+7$DRNVY"6(M":5S4IA
M>U?C *3PJW'[23"H)5/Z\M+>53T >6EE![*B\&;/B=;W?OCEZ"X]J;+YDWZ5
M3392)QL*NB+_@2BC2OR<7F"^>C87JN^_8,K>N]U3Q"*5A]L+7:JAO7#?G. Z
M](W'LJ=>OY"15<=_3<3 ]=>6XJRMF;=G0-U:!/8%D><P0J G[=%$BA;A#%&%
MPL4^.HE(+<+&EG4[7X.N"MJ8;+7)#/ =8Q\50YY>>411>^C*H:TR*=2"P!*.
M]A'%WL5.[GCI;IAM_$\%6Z6=H"N17I"W&N"!,_BB=_U:L[PNR%3=VX'79Y&#
MW2QL+;T#1"QT[B)>OW!0Q"A&\6[J.T',W@E,*T'JRXFH/W3)5T"1D4-ZU=(#
MGJO?6I;+1=4)T[1^L#M@)\[- JT]9XMCQ]=Z4D9[#.@BNA<4 7-H+92&KNN&
M"06+0H7P"PMTF,@!KS=XT=X:?%$Q5HS259\$54*9IA30#V%9H29%-_#JP"T(
M  >7-\;Y*4%;!WO*2^#JGN!%AUO@/Q^=-R8"?;1E3PBFD5/VP)C,U-3K#5[8
MN 51$*/TQL1A?^A-G5U=O>#0%;RR<HM*00F?JPY/<:DD":4 .\]Y#7U#0:CT
M!J_BW(XL"%!ZF^)0N!!=;WL0#0)>*[H]X1!C]L9DA/=RZ7YE2,J)&P\$7O.Z
M!5G1PNZJY44_>M]$NI(%5;T;2U<P1^Z*4Z$%Q&:AG&:RVZ1C@5<6;RZ_30,S
M<,\DG;.+D)<6RLHB,",G\'Y#OG<?DB>90T+=$[R*^!E\J23#::%D(3M9#"W>
M/:)XS3*N-8+9!D. UQ=OD<$*W"SD-/V-ES""D<J)I-,7O+!XB[P5(07/5&>7
MA]"Z+I4_@D["X>QY-G62@<D8\.7)&V.R,7)7[36LD*NWM4M[P9= ;TT8+$M$
MXA94+VY3,^2AS98!K\I HSVU.L(77#^;N;JD-K.7*WG$OY8X63ZBP*-6G)I7
MR@'@:ZHWS3--S,#/87W"FS!^;:BTWM36:X[<V_.5W./ "=QF?"72L<"KOS?G
M*]' #'Q7.#U]MKF2,5F.<(#87=VT-JV>U27I#EYK_0P.B0TO)5[@W#V981BL
MV$,O??0L8:BX!WC9\\9XJ$+ENJVH@H .HRBAV"!=YNOT!:^AWLI2EB,%OHZG
M!WGM8T9UX&E8Q">-P<N?-\<V,1;7O7 /!OXC#D*"XUUZA70=^I0S6@X0?C_P
M*NF-<UZ.T'4+ 7=/8N\SA\$\#MW/IIOW25?PLNDM[]T<G,"W;GV2F["C+*B?
MWAB/S9&[8K-[L%PBEYJ<@U=W[00K-*-;T21@]+/_8X[^%\='Z;41"AIVZ4;%
M_M -O--?%%H>ZM[U<;0-(\=_(&&RI3WHSV[V?A3RCL]'B<7/AKF!5Y2OX1:P
M 3=+=L&SB.:75CM 480W@UPLRI>>!WC%_1IB"\.K*]Z[[=BE[=R/;7+3 N^\
M9F*]31<2I9+$-^&^*.L,2KJW]PJ#Y>+-+0=?1\ ' 7"UVG- 4T? &AH>_#6(
M2XNC=7&R?,+E:5(+E9 =73:?'#^1)!9K=@=_2:)9IE4%0AO"*]]6YNN0Q"R,
MH)7#QF\-_CY$F\(@ ^C:>9]LMWZZ63K^?K,<!LN0;#+6J0M$ZPX _IQ#C6/!
M$!WPC?_DIB7VQDA>W*C2%ORQ U/ ><_.\\BW@#-9JIT&6TH-P1\4.)<G7,(Y
M#+&BWG\:C\F#=-D-E,.,3PK__ZQ?^+\XY/]RJ+WRKYU\9.AW *K$&CT((.L.
M=)KM)[>0W\POMU.ML8K,MGU J3E3/JE*%!6+C0'S@JY3-*3_E.F4G+:6\>1$
MHD3@%Z9?O%L)S(!,@%AE[S!(M=U7K,,+?K=K9 N?DL)+$$!AU--I]<.-@R4%
MS07-+6.(3-C*(4<^087BNF"/0NTS,QX1>R)6XBJI-H5^@*0.)X04MW*))R\1
M,@P&KRZ*J-(U=4CJ3Q&B37LI.T$_SF&$NPY!EE@N,Q3398F\_0/GJB4A:@_]
MG$:==2&G'9PU7==--HG/; [1JV\J;AD, ?UF1AT&&B,$SM-I"H6*;:>MH!^^
MJ,,9'IW@X/.O1ZJ8(>\%_?Q$'>;HX #.K*J-W.R#QDV-;XU"6#'$*_92DX!>
M?3))FJ\?39(XBIV @2"+B56:6J..*KDN(O/J&2@Z\>N_ZLY=!ME))A:."T_#
M&CU;)7@@[ $_M33NQ)G?A&M?YU8Q\VU=;^.?;/M$X;2.5?(<80\[9)>?E/F]
M'E,M46],:Q1\E1B<#QSX FWIP>'V]7L5;Z0/"@.J\$P"D-=/"-,S4]4A=8.E
M?YND]86BP2LB+HZ.H5V!MFXV%/0K;V:*>1V8;&5PIG,VPV'I6- /LYW+8@V@
MP'F\O]^\W^WW]VC8;M_'4::+L:F++,;?5+?&F_L"]"MMVO+0-*A7K8Z=O&W7
M]3S,*'=\EE(T#/(X2KI2GLM/6,\053(B'*,Y(B_81=FJ8L_CK8)T%$4J=/M?
M!G\U3ELD+\4%\ WM.AR+!C=_VGMQ[L*^Q3=SD^<<WZ()XRUT+[;(PW8S2-.)
M1,C]=A6^?(=<+YO+]&7+;IWY8920XQ:6Y8I^_/C3C^^_[[SK'%O0'Z;.KO,2
M=>@FF.;04MNW\/?S<T*+,\PDT?6. DA_8,5[/D6%SQ^_7F%F01QI3ZV.YR\H
M#0I>MJ(,3S;-PU^!<Z-T(3M=."<4-)O'J4:6FA=NP@JS]^CZ7H5D)T@6I&T%
M32W O"0=!6 %<VXT%5 -<M?WRQ/!2)Q80[O(>\!#+A6; OYR.G(V7(@+0WH<
MO6 O<7RQC)?;P",M$>[R9 LAQ@M)]7$&*FGFM(3'EB\1I^++F?AEQ9::88N0
M65=BJ2TU@0=6(K2EN1:BDQ>2V<,$%!);:0</*U<43L6U,NO+"NLC<IBN(Q;5
MDP;PB$H$]62FA;CK)?7=!350[GQ^9<7"[ O-])\ :]Q2/%O[K5#;J&=(C7HO
MG",?L>OB.>_'SD9@<@B::J/?O(-&BF.HFC@(WNS31TURLEQB%Y'H/E!(O48W
M;3XT[R]18AR:$ +"ERE")*VPD\:G-#@B[:#-B^8SE QXH4'SI7>CM!;=<6)*
M+D@[:'.A^=0B RYHT'SQM1 N6 V_5.O:\)S\J?"4&FFCW7P&CY',<VF[/,)=
M-Z;VE;]CH245T-RVVG@WGY5CAK>$T@O#GAH*=$9L%LJM1=A8&_CFDVH,@%?0
M>FFU)PSH7,94&%Y6ZKU%W%H;^^:S7325316E@,"G,RDL1BW\N9VTV=!\DDD-
M-DCHAMB #E/3WX;$770YT4)NA0'*H2XY(%S)8O4L/R.#C6K#V9N/?;Q<(I:@
MCY1L,AU#FV^M6,WF?*N'T<6=&:>D?(K2';CP*,DL5EH4AF-H,[(5L]N<D?4P
M F?D&,5YY3-3]O%Z:C.M%?N\"::)\0!G545#-6:9; 1MUK5BU#?!.C4^%V8A
M9P-@'NW<'Z'@GG9G;<:UXA\P9YPA*N#++KUJ6'?%"3IK\ZP5'T,3BTV*RJ77
MF?.<^ X9X2C6B71)FFOSI1471(VUI*(<?L<3&L.BMMH\:,45T<A^!ND W>^C
M!IQ0=M)F22MN"7.6:*( ?EG@H&S*;XR6FNERXT,[87F5DX@_::##O*01"I<
MOZ4VTFV^ <Q!41*"A]MZ4HV Y6NHL.8VU(:ZS7=[I5!+Z(/P=DH=_:<MM+%M
M\V5<*;8\BBX?.A2GZ!S^J UEFR_+2J$LT7%A%)7)3K52G#ZT8KK62S"S(-4I
M#![8+=]L(GT4N02G+F-5KI-&/VV.M&*8*E*<M.F^^'Z\O\_ZX_<?7HYBI(Q
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
M%     @ $H!_6I2RCQ#J+   5R\   T              ( !     &%U9&ET
M7S P,2YJ<&=02P$"% ,4    "  2@']:%%64%9(,  "4#0  #0
M    @ $5+0  875D:71?,# R+FIP9U!+ 0(4 Q0    ( !* ?UITR%:MNR\
M +]. @ (              "  =(Y  !E>#$Y+FAT;5!+ 0(4 Q0    ( !*
M?UK\4-2=[00  .8C   *              "  ;-I  !E>#(S+3$N:'1M4$L!
M A0#%     @ $H!_6ACBT5L%"   Z44   H              ( !R&X  &5X
M,S$M,2YH=&U02P$"% ,4    "  2@']:&;GM]?8'  #Z1@  "@
M    @ 'U=@  97@S,2TR+FAT;5!+ 0(4 Q0    ( !* ?UJ&T*+)* 0  $<3
M   *              "  1-_  !E>#,R+3$N:'1M4$L! A0#%     @ $H!_
M6@B'Z"V-\P$ B+<4  P              ( !8X,  &9O<FTQ,"UK+FAT;5!+
M 0(4 Q0    ( !* ?UH@CG&H2A4  )[S   0              "  1IW @!F
M<VDM,C R-#$R,S$N>'-D4$L! A0#%     @ $H!_6F C4X'X'   ;7(! !0
M             ( !DHP" &9S:2TR,#(T,3(S,5]C86PN>&UL4$L! A0#%
M  @ $H!_6AW/8Z'0-P  %Z@# !0              ( !O*D" &9S:2TR,#(T
M,3(S,5]D968N>&UL4$L! A0#%     @ $H!_6B02UGE*C@  WR(( !0
M         ( !ON$" &9S:2TR,#(T,3(S,5]L86(N>&UL4$L! A0#%     @
M$X!_6GF1$,Z&9@  \,D& !0              ( !.G # &9S:2TR,#(T,3(S
?,5]P<F4N>&UL4$L%!@     -  T # ,  /+6 P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>form10-k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:FSI="http://flexiblesolutions.com/20241231"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:cyd="http://xbrl.sec.gov/cyd/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="fsi-20241231.xsd" xlink:type="simple"/>
    <context id="From2024-01-01to2024-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2025-03-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2025-03-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsAndENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_FirstTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FirstTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_SecondTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:SecondTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_ThirdTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:ThirdTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_FourthTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FourthTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_TechnologyEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-31</instant>
        </period>
    </context>
    <context id="AsOf2024-08-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-08-31</instant>
        </period>
    </context>
    <context id="From2024-08-012024-08-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-08-01</startDate>
            <endDate>2024-08-31</endDate>
        </period>
    </context>
    <context id="AsOf2025-01-01_custom_FloridaBasedLLCMember_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-01-01</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_FloridaBasedLLCMember100479515">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_FloridaBasedLLCMember100479531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_FloridaBasedLLCMember100479531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-06-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-06-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-06-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember_custom_NanoChemSolutionIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_NoncontrollingInterestsMember_custom_StockBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:NoncontrollingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-08-31_custom_StockBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-08-31</instant>
        </period>
    </context>
    <context id="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-08-01</startDate>
            <endDate>2024-08-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_StockYardsBankAndTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankAndTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankAndTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_FederalAndStatedIncomeTaxMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">FSI:FederalAndStatedIncomeTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandThirtyTaxYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTaxYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandThirtyOneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyOneYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandThirtyTwoYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyTwoYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandThirtySevenYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtySevenYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandThirtyNineYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandThirtyNineYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandFourtyYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandFourtyOneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyOneYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandFourtyTwoYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyTwoYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_TwoThousandFourtyThreeYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">FSI:TwoThousandFourtyThreeYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_WagesAndAdministrativeSalariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:WagesAndAdministrativeSalariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_WagesAndAdministrativeSalariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:WagesAndAdministrativeSalariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ConsultingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:ConsultingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConsultingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">FSI:ConsultingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ConsultantStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">FSI:ConsultantStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ConsultantStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">FSI:ConsultantStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_OtherMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_OtherMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:OtherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-10-012024-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-03-31_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Segments">
        <measure>FSI:Segments</measure>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2024-01-01to2024-12-31" id="Fact000003">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2024-01-01to2024-12-31" id="Fact000004">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="From2024-01-01to2024-12-31" id="Fact000005">0001069394</dei:EntityCentralIndexKey>
    <dei:EntityIncorporationStateCountryCode contextRef="From2024-01-01to2024-12-31" id="xdx2ixbrl0021">A0</dei:EntityIncorporationStateCountryCode>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0089"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0104"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0131"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0140"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0152"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0153"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2023-01-012023-12-31"
      id="xdx2ixbrl0279"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:LeaseTerminationFee
      contextRef="From2023-01-012023-12-31"
      id="xdx2ixbrl0282"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2023-01-012023-12-31"
      id="xdx2ixbrl0365"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="From2024-01-01to2024-12-31"
      id="xdx2ixbrl0367"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfLandHeldForUse
      contextRef="From2023-01-012023-12-31"
      id="xdx2ixbrl0407"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="From2024-01-01to2024-12-31"
      id="xdx2ixbrl0412"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2024-01-01to2024-12-31"
      id="xdx2ixbrl0418"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:ProceedsFromRedemptionOfInvestments
      contextRef="From2024-01-01to2024-12-31"
      id="xdx2ixbrl0421"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:ProceedsFromNoncontrollingInterestOfMendota
      contextRef="From2024-01-01to2024-12-31"
      id="xdx2ixbrl0424"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0497"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0498"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0499"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0502"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0505"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0506"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0508"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0510"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0513"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0514"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0515"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0516"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      id="xdx2ixbrl0517"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0521"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0522"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0524"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0531"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0532"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0534"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0539"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0540"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0541"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0542"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      id="xdx2ixbrl0543"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0547"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0549"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0550"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0552"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0575"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0576"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0577"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0580"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0583"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0584"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0586"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Dividends
      contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0588"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0591"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0592"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0594"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0601"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0602"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0604"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0609"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0610"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0611"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0612"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-012024-12-31_us-gaap_ParentMember"
      id="xdx2ixbrl0613"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0617"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0619"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0620"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0622"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0775"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-12-31"
      id="xdx2ixbrl0791"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_LandMember"
      id="xdx2ixbrl0835"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl0839"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl0842"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      id="xdx2ixbrl0862"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl0866"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl0869"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember"
      id="xdx2ixbrl1058"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-12-31_custom_StockBankMember_custom_NewAgreementMember"
      id="xdx2ixbrl1060"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember"
      id="xdx2ixbrl1143"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      id="xdx2ixbrl1204"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      id="xdx2ixbrl1205"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:DeferredTaxAssetsShareIssuanceCosts
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1258"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1269"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1270"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl1273"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl1282"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxLiabilitiesInvestments
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl1291"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2023-01-012023-12-31_custom_ConsultantsMember"
      id="xdx2ixbrl1469"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2023-01-012023-12-31_custom_EmployeesMember"
      id="xdx2ixbrl1473"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1501"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1505"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_ConsultantStockOptionMember"
      id="xdx2ixbrl1519"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      id="xdx2ixbrl1571"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1591"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1596"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GrossProfit
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1601"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1606"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseOperating
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1626"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1631"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1634"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1636"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1646"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1651"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1656"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1661"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseOperating
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1681"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1686"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1689"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      id="xdx2ixbrl1691"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2024-01-01to2024-12-31" id="Fact000013">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="From2024-01-01to2024-12-31" id="Fact000014">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="From2024-01-01to2024-12-31" id="Fact000015">2024-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="From2024-01-01to2024-12-31" id="Fact000016">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2024-01-01to2024-12-31" id="Fact000017">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2024-01-01to2024-12-31" id="Fact000018">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2024-01-01to2024-12-31" id="Fact000019">001-31540</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2024-01-01to2024-12-31" id="Fact000020">FLEXIBLE SOLUTIONS INTERNATIONAL, INC.</dei:EntityRegistrantName>
    <dei:EntityTaxIdentificationNumber contextRef="From2024-01-01to2024-12-31" id="Fact000022">71-1630889</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2024-01-01to2024-12-31" id="Fact000023">6001     54 Ave.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2024-01-01to2024-12-31" id="Fact000024">Taber</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2024-01-01to2024-12-31" id="Fact000025">AB</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressCountry contextRef="From2024-01-01to2024-12-31" id="Fact000026">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode contextRef="From2024-01-01to2024-12-31" id="Fact000027">T1G     1X4</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2024-01-01to2024-12-31" id="Fact000028">(403)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2024-01-01to2024-12-31" id="Fact000029">223-2995</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2024-01-01to2024-12-31" id="Fact000030">Common     Stock, $0.001 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2024-01-01to2024-12-31" id="Fact000031">FSI</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2024-01-01to2024-12-31" id="Fact000032">NYSEAMER</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="From2024-01-01to2024-12-31" id="Fact000033">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="From2024-01-01to2024-12-31" id="Fact000034">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="From2024-01-01to2024-12-31" id="Fact000035">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2024-01-01to2024-12-31" id="Fact000036">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2024-01-01to2024-12-31" id="Fact000037">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2024-01-01to2024-12-31" id="Fact000038">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2024-01-01to2024-12-31" id="Fact000039">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="From2024-01-01to2024-12-31" id="Fact000040">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="From2024-01-01to2024-12-31" id="Fact000041">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="From2024-01-01to2024-12-31" id="Fact000042">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000043"
      unitRef="USD">19992921</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2025-03-30"
      decimals="INF"
      id="Fact000044"
      unitRef="Shares">12647532</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000045">None</dei:DocumentsIncorporatedByReferenceTextBlock>
    <cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000049">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Companies
such as ours face a variety of risks, including financial reporting, legal, credit, liquidity, operational, health, safety and cybersecurity
risks. The Board believes an effective risk management system will (1) identify the material risks that we face in a timely manner, (2)
communicate necessary information with respect to material risks to senior executives and, as appropriate, to our directors (3) implement
or oversee implementation of appropriate and responsive risk management and mitigation strategies consistent with our risk profile, and
(4) integrate risk management into our decision-making.&lt;/span&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__" id="xdx_90D_ecyd--CybersecurityRiskBoardOfDirectorsOversightTextBlock_c20240101__20241231_zcdwvvnSdkUe"&gt;Our
Board oversees risk management after receiving briefings from advisors and also based on its own analysis and conclusions regarding the
adequacy of our risk management processes. The Board continuously evaluates and manages material risks including geopolitical and enterprise
risks, financial risks, environmental risks, health and safety risks and cybersecurity risks.&lt;/span&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__" id="xdx_904_ecyd--CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag_dbT_c20240101__20241231_zVNNk2f1qQM3"&gt;George
Murray, our Operations Manager, is responsible for assessing and managing cybersecurity risks.&lt;/span&gt; Mr. Murray is experienced in assessing
and managing cybersecurity risks due to his direct oversight of our internet and digital communications contractors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIEN5YmVyc2VjdXJpdHkgUmlzayBNYW5hZ2VtZW50IGFuZCBTdHJhdGVneSBEaXNjbG9zdXJlAA__" id="xdx_90D_ecyd--CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag_dbF_c20240101__20241231_zWQXzOtlkP15"&gt;To
date we have not experienced any cybersecurity threats and any risks from cybersecurity threats have not materially affected, and are
not reasonably likely to materially affect, our business strategy, results of operations, or financial condition.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;</cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock>
    <cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000050">Our
Board oversees risk management after receiving briefings from advisors and also based on its own analysis and conclusions regarding the
adequacy of our risk management processes. The Board continuously evaluates and manages material risks including geopolitical and enterprise
risks, financial risks, environmental risks, health and safety risks and cybersecurity risks.</cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag contextRef="From2024-01-01to2024-12-31" id="Fact000051">true</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag>
    <cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag contextRef="From2024-01-01to2024-12-31" id="Fact000052">false</cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag>
    <dei:AuditorFirmId contextRef="From2024-01-01to2024-12-31" id="Fact000053">444</dei:AuditorFirmId>
    <dei:AuditorFirmId contextRef="From2023-01-012023-12-31" id="Fact000054">995</dei:AuditorFirmId>
    <dei:AuditorOpinionTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000055">We
have audited the accompanying consolidated balance sheet of Flexible Solutions International Inc. (&#x201c;the Company&#x201d;) as of December
31, 2024 and the related consolidated statements of income and comprehensive income, stockholders&#x2019; equity and cash flows for the
year then ended, and the related notes (collectively referred to as the &#x201c;consolidated financial statements&#x201d;). In our opinion,
the consolidated financial statements present fairly, in all material respects, the financial position of the Company as of December
31, 2024 and the results of its operations and its cash flows for the year then ended, in conformity with accounting principles generally
accepted in the United States of America.</dei:AuditorOpinionTextBlock>
    <dei:AuditorName contextRef="From2024-01-01to2024-12-31" id="Fact000056">Assure CPA, LLC</dei:AuditorName>
    <dei:AuditorLocation contextRef="From2024-01-01to2024-12-31" id="Fact000057">Spokane, Washington</dei:AuditorLocation>
    <dei:AuditorFirmId contextRef="From2024-01-01to2024-12-31" id="Fact000058">444</dei:AuditorFirmId>
    <dei:AuditorLocation contextRef="From2023-01-012023-12-31" id="Fact000059">Vancouver, Canada</dei:AuditorLocation>
    <dei:AuditorName contextRef="From2023-01-012023-12-31" id="Fact000060">SMYTHE LLP</dei:AuditorName>
    <us-gaap:Cash
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000068"
      unitRef="USD">7631055</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000069"
      unitRef="USD">5017583</us-gaap:Cash>
    <us-gaap:DepositsAssetsCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000071"
      unitRef="USD">2400916</us-gaap:DepositsAssetsCurrent>
    <us-gaap:DepositsAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000072"
      unitRef="USD">2690241</us-gaap:DepositsAssetsCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000074"
      unitRef="USD">11696098</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000075"
      unitRef="USD">9843056</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000077"
      unitRef="USD">10890195</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000078"
      unitRef="USD">11134889</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000080"
      unitRef="USD">1957593</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000081"
      unitRef="USD">1540923</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000083"
      unitRef="USD">34575857</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000084"
      unitRef="USD">30226692</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000086"
      unitRef="USD">17146184</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000087"
      unitRef="USD">13171787</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000090"
      unitRef="USD">115293</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000092"
      unitRef="USD">2120000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000093"
      unitRef="USD">2280000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000095"
      unitRef="USD">167882</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000096"
      unitRef="USD">824254</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000098"
      unitRef="USD">3424381</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000099"
      unitRef="USD">6033960</us-gaap:EquityMethodInvestments>
    <us-gaap:Goodwill
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000101"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000102"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000105"
      unitRef="USD">284794</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000107"
      unitRef="USD">59968579</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000108"
      unitRef="USD">55471055</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000116"
      unitRef="USD">2049425</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000117"
      unitRef="USD">1984592</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000119"
      unitRef="USD">403157</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000120"
      unitRef="USD">284131</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000122"
      unitRef="USD">78655</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000123"
      unitRef="USD">148292</us-gaap:DeferredRevenueCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000125"
      unitRef="USD">5137290</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000126"
      unitRef="USD">4485213</us-gaap:TaxesPayableCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000128"
      unitRef="USD">2052159</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000129"
      unitRef="USD">1810479</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000132"
      unitRef="USD">59520</us-gaap:LongTermDebtCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000134"
      unitRef="USD">2140981</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000135"
      unitRef="USD">1281632</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000137"
      unitRef="USD">11861667</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000138"
      unitRef="USD">10053859</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000141"
      unitRef="USD">55773</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000143"
      unitRef="USD">122019</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000144"
      unitRef="USD">260047</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000146"
      unitRef="USD">6618867</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000147"
      unitRef="USD">6833304</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000149"
      unitRef="USD">18602553</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000150"
      unitRef="USD">17202983</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000158"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000160"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000162"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000164"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000166"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000168"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000170"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000172"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000174"
      unitRef="Shares">12515532</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact000176"
      unitRef="Shares">12515532</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000178"
      unitRef="Shares">12435532</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000180"
      unitRef="Shares">12435532</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000182"
      unitRef="USD">12516</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000183"
      unitRef="USD">12436</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000185"
      unitRef="USD">18789915</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000186"
      unitRef="USD">17932015</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000188"
      unitRef="USD">-606986</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000189"
      unitRef="USD">-795146</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000191"
      unitRef="USD">19836527</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000192"
      unitRef="USD">18053051</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000194"
      unitRef="USD">38031972</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000195"
      unitRef="USD">35202356</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000197"
      unitRef="USD">3334054</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000198"
      unitRef="USD">3065716</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000200"
      unitRef="USD">41366026</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000201"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000203"
      unitRef="USD">59968579</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000204"
      unitRef="USD">55471055</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000206"
      unitRef="USD">38234860</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000207"
      unitRef="USD">38324806</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000209"
      unitRef="USD">24994961</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000210"
      unitRef="USD">27881721</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000212"
      unitRef="USD">13239899</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000213"
      unitRef="USD">10443085</us-gaap:GrossProfit>
    <us-gaap:SalariesAndWages
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000218"
      unitRef="USD">2504523</us-gaap:SalariesAndWages>
    <us-gaap:SalariesAndWages
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000219"
      unitRef="USD">2659654</us-gaap:SalariesAndWages>
    <us-gaap:OfficersCompensation
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000221"
      unitRef="USD">1238702</us-gaap:OfficersCompensation>
    <us-gaap:OfficersCompensation
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000222"
      unitRef="USD">1205007</us-gaap:OfficersCompensation>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000224"
      unitRef="USD">958109</us-gaap:GeneralInsuranceExpense>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000225"
      unitRef="USD">861501</us-gaap:GeneralInsuranceExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000227"
      unitRef="USD">805307</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000228"
      unitRef="USD">512896</us-gaap:OtherGeneralExpense>
    <FSI:Consulting
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000230"
      unitRef="USD">473925</FSI:Consulting>
    <FSI:Consulting
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000231"
      unitRef="USD">324327</FSI:Consulting>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000233"
      unitRef="USD">329952</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000234"
      unitRef="USD">158246</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ProfessionalFees
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000236"
      unitRef="USD">324462</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000237"
      unitRef="USD">238466</us-gaap:ProfessionalFees>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000239"
      unitRef="USD">259972</us-gaap:UtilitiesOperatingExpense>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000240"
      unitRef="USD">123475</us-gaap:UtilitiesOperatingExpense>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000242"
      unitRef="USD">227837</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000243"
      unitRef="USD">264563</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000245"
      unitRef="USD">218269</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000246"
      unitRef="USD">194308</us-gaap:SellingAndMarketingExpense>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000248"
      unitRef="USD">199863</FSI:InvestorRelationsAndTransferAgentFee>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000249"
      unitRef="USD">222650</FSI:InvestorRelationsAndTransferAgentFee>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000251"
      unitRef="USD">72891</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000252"
      unitRef="USD">97806</us-gaap:OperatingLeaseExpense>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000254"
      unitRef="USD">57970</us-gaap:CommunicationsAndInformationTechnology>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000255"
      unitRef="USD">55093</us-gaap:CommunicationsAndInformationTechnology>
    <FSI:ShippingCost
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000257"
      unitRef="USD">29408</FSI:ShippingCost>
    <FSI:ShippingCost
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000258"
      unitRef="USD">24060</FSI:ShippingCost>
    <FSI:Commissions
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000260"
      unitRef="USD">28093</FSI:Commissions>
    <FSI:Commissions
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000261"
      unitRef="USD">35623</FSI:Commissions>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000263"
      unitRef="USD">4790</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000264"
      unitRef="USD">37632</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:OperatingExpenses
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000266"
      unitRef="USD">7724493</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000267"
      unitRef="USD">6940043</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000269"
      unitRef="USD">5515406</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000270"
      unitRef="USD">3503042</us-gaap:OperatingIncomeLoss>
    <us-gaap:GainLossOnInvestments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000275"
      unitRef="USD">245631</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000276"
      unitRef="USD">505065</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000278"
      unitRef="USD">-353076</us-gaap:GainLossOnSaleOfInvestments>
    <FSI:LeaseTerminationFee
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000281"
      unitRef="USD">41350</FSI:LeaseTerminationFee>
    <us-gaap:InterestExpenseOther
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000284"
      unitRef="USD">610265</us-gaap:InterestExpenseOther>
    <us-gaap:InterestExpenseOther
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000285"
      unitRef="USD">498666</us-gaap:InterestExpenseOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000287"
      unitRef="USD">196454</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000288"
      unitRef="USD">113809</us-gaap:InterestIncomeOther>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000290"
      unitRef="USD">-562606</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000291"
      unitRef="USD">120208</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000293"
      unitRef="USD">4952800</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000294"
      unitRef="USD">3623250</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000299"
      unitRef="USD">146767</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000300"
      unitRef="USD">-250917</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000302"
      unitRef="USD">704444</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000303"
      unitRef="USD">118182</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000305"
      unitRef="USD">4101589</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000306"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000308"
      unitRef="USD">1063060</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000309"
      unitRef="USD">980121</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000311"
      unitRef="USD">3038529</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000312"
      unitRef="USD">2775864</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact000314"
      unitRef="USDPShares">0.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact000316"
      unitRef="USDPShares">0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact000318"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact000320"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact000322"
      unitRef="Shares">12454957</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact000323"
      unitRef="Shares">12434886</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact000325"
      unitRef="Shares">12680668</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact000326"
      unitRef="Shares">12489467</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000331"
      unitRef="USD">4101589</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000332"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000334"
      unitRef="USD">188160</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000335"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000337"
      unitRef="USD">4289749</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000338"
      unitRef="USD">3766638</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000340"
      unitRef="USD">1063060</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000341"
      unitRef="USD">980121</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000343"
      unitRef="USD">3226689</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000344"
      unitRef="USD">2786517</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000349"
      unitRef="USD">4101589</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000350"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000355"
      unitRef="USD">673130</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000356"
      unitRef="USD">395080</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000358"
      unitRef="USD">1957476</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000359"
      unitRef="USD">1686319</us-gaap:DepreciationAndAmortization>
    <us-gaap:GainLossOnInvestments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000361"
      unitRef="USD">245631</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000362"
      unitRef="USD">505065</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000364"
      unitRef="USD">-353076</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000368"
      unitRef="USD">4589</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000370"
      unitRef="USD">146767</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000371"
      unitRef="USD">-250917</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000376"
      unitRef="USD">1853042</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000377"
      unitRef="USD">393199</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000379"
      unitRef="USD">-244694</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000380"
      unitRef="USD">-3284541</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000382"
      unitRef="USD">416670</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000383"
      unitRef="USD">1230626</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000385"
      unitRef="USD">159342</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000386"
      unitRef="USD">815714</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000388"
      unitRef="USD">64833</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000389"
      unitRef="USD">1110689</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000391"
      unitRef="USD">119026</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000392"
      unitRef="USD">-675725</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000394"
      unitRef="USD">652077</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000395"
      unitRef="USD">-1137</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000397"
      unitRef="USD">-69637</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000398"
      unitRef="USD">-239471</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000400"
      unitRef="USD">5568346</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000401"
      unitRef="USD">6116171</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleOfLandHeldForUse
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000406"
      unitRef="USD">2000000</us-gaap:ProceedsFromSaleOfLandHeldForUse>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000409"
      unitRef="USD">510710</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000410"
      unitRef="USD">201034</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000413"
      unitRef="USD">5411</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000415"
      unitRef="USD">4964736</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000416"
      unitRef="USD">4990675</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000419"
      unitRef="USD">470000</us-gaap:PaymentsToAcquireInvestments>
    <FSI:ProceedsFromRedemptionOfInvestments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000422"
      unitRef="USD">200000</FSI:ProceedsFromRedemptionOfInvestments>
    <FSI:ProceedsFromNoncontrollingInterestOfMendota
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000425"
      unitRef="USD">200000</FSI:ProceedsFromNoncontrollingInterestOfMendota>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000427"
      unitRef="USD">-2454026</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000428"
      unitRef="USD">-4854230</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000433"
      unitRef="USD">241680</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000434"
      unitRef="USD">-1008112</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000436"
      unitRef="USD">1517500</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000437"
      unitRef="USD">725823</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000439"
      unitRef="USD">2162412</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000440"
      unitRef="USD">2686682</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsOfDividends
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000442"
      unitRef="USD">1255053</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000443"
      unitRef="USD">626777</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000445"
      unitRef="USD">794722</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000446"
      unitRef="USD">719439</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000448"
      unitRef="USD">184850</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000449"
      unitRef="USD">13600</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000451"
      unitRef="USD">-978333</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000452"
      unitRef="USD">-379869</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000454"
      unitRef="USD">188160</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000455"
      unitRef="USD">10653</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000457"
      unitRef="USD">2324147</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000458"
      unitRef="USD">892725</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000460"
      unitRef="USD">7707824</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000461"
      unitRef="USD">6815099</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000463"
      unitRef="USD">10031971</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000464"
      unitRef="USD">7707824</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000469"
      unitRef="USD">7631055</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000470"
      unitRef="USD">5017583</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000472"
      unitRef="USD">2400916</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000473"
      unitRef="USD">2690241</us-gaap:ShortTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000475"
      unitRef="USD">10031971</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000476"
      unitRef="USD">7707824</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000481"
      unitRef="USD">52367</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000482"
      unitRef="USD">119319</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000484"
      unitRef="USD">610625</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000485"
      unitRef="USD">498666</us-gaap:InterestPaidNet>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000495"
      unitRef="Shares">12426260</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000487"
      unitRef="USD">12426</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000488"
      unitRef="USD">17523345</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000489"
      unitRef="USD">15903964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000490"
      unitRef="USD">-805799</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000491"
      unitRef="USD">32633936</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000492"
      unitRef="USD">2605034</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000493"
      unitRef="USD">35238970</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000500"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000501"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000503"
      unitRef="USD">10653</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000507"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000509"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000511"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000518"
      unitRef="USD">200000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000519"
      unitRef="USD">200000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000523"
      unitRef="USD">2775864</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000525"
      unitRef="USD">2775864</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000526"
      unitRef="USD">980121</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000527"
      unitRef="USD">3755985</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000537"
      unitRef="Shares">9272</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000529"
      unitRef="USD">10</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000530"
      unitRef="USD">13590</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000533"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000535"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000544"
      unitRef="USD">719439</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000545"
      unitRef="USD">719439</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000548"
      unitRef="USD">395080</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000551"
      unitRef="USD">395080</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000553"
      unitRef="USD">395080</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000563"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000555"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000556"
      unitRef="USD">17932015</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000557"
      unitRef="USD">18053051</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000558"
      unitRef="USD">-795146</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000559"
      unitRef="USD">35202356</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000560"
      unitRef="USD">3065716</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000561"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000573"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000565"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000566"
      unitRef="USD">17932015</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000567"
      unitRef="USD">18053051</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000568"
      unitRef="USD">-795146</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000569"
      unitRef="USD">35202356</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000570"
      unitRef="USD">3065716</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000571"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000578"
      unitRef="USD">188160</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000579"
      unitRef="USD">188160</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000581"
      unitRef="USD">188160</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:Dividends
      contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000585"
      unitRef="USD">1255053</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2024-01-012024-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000587"
      unitRef="USD">1255053</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000589"
      unitRef="USD">1255053</us-gaap:Dividends>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000593"
      unitRef="USD">3038529</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000595"
      unitRef="USD">3038529</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000596"
      unitRef="USD">1063060</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000597"
      unitRef="USD">4101589</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000607"
      unitRef="Shares">80000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000599"
      unitRef="USD">80</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000600"
      unitRef="USD">184770</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-012024-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000603"
      unitRef="USD">184850</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000605"
      unitRef="USD">184850</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-012024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000614"
      unitRef="USD">794722</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000615"
      unitRef="USD">794722</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000618"
      unitRef="USD">673130</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000621"
      unitRef="USD">673130</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000623"
      unitRef="USD">673130</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000633"
      unitRef="Shares">12515532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000625"
      unitRef="USD">12516</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000626"
      unitRef="USD">18789915</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000627"
      unitRef="USD">19836527</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000628"
      unitRef="USD">-606986</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000629"
      unitRef="USD">38031972</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000630"
      unitRef="USD">3334054</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000631"
      unitRef="USD">41366026</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000643"
      unitRef="Shares">12515532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000635"
      unitRef="USD">12516</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000636"
      unitRef="USD">18789915</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000637"
      unitRef="USD">19836527</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000638"
      unitRef="USD">-606986</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000639"
      unitRef="USD">38031972</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000640"
      unitRef="USD">3334054</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000641"
      unitRef="USD">41366026</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000645">&lt;p id="xdx_80F_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_z7dUi2jvaJtk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;1.
&lt;span id="xdx_82F_zzZMsRmeJfbd"&gt;BASIS OF PRESENTATION&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
consolidated financial statements (&#x201c;consolidated financial statements&#x201d;) include the accounts of Flexible Solutions International,
Inc. (the &#x201c;Company&#x201d;), its wholly-owned subsidiaries Flexible Fermentation Ltd., NanoChem Solutions Inc. (&#x201c;NanoChem&#x201d;),
Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp., Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP
Peru Investments LLC (&#x201c;ENP Peru&#x201d;), Pana Chem Solutions Inc., its &lt;span id="xdx_90E_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember_ziNctp3EG6j7" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% controlling interest in 317 Mendota LLC (&#x201c;317
Mendota&#x201d;), and its &lt;span id="xdx_906_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zRahIgDUlDp1" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;% controlling interest in ENP Investments, LLC (&#x201c;ENP Investments&#x201d;) and ENP Mendota, LLC (&#x201c;ENP
Mendota&#x201d;). All inter-company balances and transactions have been eliminated upon consolidation. The Company was incorporated on
May 12, 1998 in the State of Nevada and in 2019, the Company redomiciled into Alberta, Canada.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2022, NanoChem purchased an additional &lt;span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_z3g0lIqjN8Tb" title="Increase decrease in share percentage"&gt;50&lt;/span&gt;% in ENP Peru, increasing its share to&lt;span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zCiUoBoi8TZh" title="Increase decrease in share percentage"&gt; 91.67&lt;/span&gt;%. ENP Investments owns the remaining &lt;span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_z2XLYYL56Uq4" title="Remaining investment owned percentage"&gt;8.33&lt;/span&gt;%, of
which the Company has a &lt;span id="xdx_900_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPInvestmentsAndENPMendotaMember_zghPSZUEjsWh" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;% interest. In 2023, NanoChem purchased the remaining &lt;span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_z32bcB96CxGa" title="Remaining investment owned percentage"&gt;8.33&lt;/span&gt;% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2023, the Company purchased an &lt;span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zbJG07Qgqct8" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing
building. ENP Investments will occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The
Company intends to rent the remainder of the space to suitable tenants. The remaining &lt;span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zCVwMTQilrqj" title="Noncontrolling interest percentage"&gt;20&lt;/span&gt;% non-controlling interest is held by unrelated
parties.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#xae;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#xae;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#x201c;TPAs&#x201d;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields and has installed custom equipment used to produce
food and nutritional materials. All the ingredients we produce are custom products for specific clients and are confidential. We anticipate
that this market vertical will grow over time.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact000647"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCAndENPMendotaMember"
      decimals="INF"
      id="Fact000649"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <FSI:IncreaseDecreaseInSharePercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember"
      decimals="INF"
      id="Fact000651"
      unitRef="Pure">0.50</FSI:IncreaseDecreaseInSharePercentage>
    <FSI:IncreaseDecreaseInSharePercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000653"
      unitRef="Pure">0.9167</FSI:IncreaseDecreaseInSharePercentage>
    <FSI:RemainingInvestmentOwnedPercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000655"
      unitRef="Pure">0.0833</FSI:RemainingInvestmentOwnedPercentage>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2022-01-012022-12-31_custom_ENPInvestmentsAndENPMendotaMember"
      decimals="INF"
      id="Fact000657"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <FSI:RemainingInvestmentOwnedPercentage
      contextRef="From2023-01-012023-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000659"
      unitRef="Pure">0.0833</FSI:RemainingInvestmentOwnedPercentage>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact000661"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember"
      decimals="INF"
      id="Fact000663"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000665">&lt;p id="xdx_804_eus-gaap--SignificantAccountingPoliciesTextBlock_z590mRk1Hab" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;2.
&lt;span id="xdx_82F_zqlPLX2j4WVh"&gt;SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_z2lCrBR6E2Zi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_864_zk4FYV71CzJd"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of December 31,
2024 and 2023, the Company did not have any cash equivalents.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zVF0JH1RCgJ4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_860_zeuPrfKqkX1e"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $&lt;span id="xdx_90E_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zNFwydByZYF5"&gt;303,954&lt;/span&gt; and matures in February
2025. This deposit pays &lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zhXrD7tjI5u2"&gt;3&lt;/span&gt;% interest and if withdrawn before maturity, a penalty may be applied. The second term deposit is for $&lt;span id="xdx_90A_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zT2Z506PaWy6"&gt;742,834&lt;/span&gt;,
matures in March 2025 and pays interest at a rate of &lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zwhcNhD3H8Hl"&gt;2.65&lt;/span&gt;%. If withdrawn before maturity, the greater of the loss of accrued interest
or $&lt;span id="xdx_908_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zLIc9IBxJVYa" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall be levied. The third term deposit is for $&lt;span id="xdx_90C_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zk4BzyB7EfUl"&gt;1,038,721&lt;/span&gt; and matures in March 2025. This deposit pays
&lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zyg35twIPRv1"&gt;2.5&lt;/span&gt;% and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_90E_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_z7fp4CN2adni" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall be levied.
The fourth term deposit is for $&lt;span id="xdx_902_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zXZLqtSnLtI2"&gt;315,407&lt;/span&gt;, matures in February 2025 and pays interest at a rate of &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zQp7L2qDIk79"&gt;3&lt;/span&gt;%. If withdrawn before maturity, a
penalty may be applied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zEWmm75pnrid" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_861_zpB0pRMcqEb3"&gt;Inventories and Cost of Sales&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost formula
to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point of sale.
Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling costs
(receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $&lt;span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zWno9pjdI8za" title="Sales"&gt;473,843&lt;/span&gt;; 2023 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zbmY3rEfWALh" title="Sales"&gt;522,033&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $&lt;span id="xdx_902_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ2lKnuUlIid" title="Cost of sales"&gt;895,463&lt;/span&gt;; 2023 - $&lt;span id="xdx_90B_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ5BOtKG6v74" title="Cost of sales"&gt;944,811&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_845_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zxCBPLYeCCul" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_868_zxftrGgO6xM5"&gt;Allowance for Doubtful Accounts&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s expected credit losses are determined through a review using historical credit loss experience; changes in asset specific
characteristics, current conditions, and reasonable and supportable future forecasts, among other specific account data, and is performed
at least quarterly. The Company develops and documents its methodology to determine its allowance for expected credit losses. Risk characteristics
used by the Company may include customer mix, knowledge of customers and general economic conditions of the various local economics,
among others. Specific account balances are written off when management determines the amounts to be uncollectible. Management has reviewed
the balance reserved through the allowance for expected losses and believes it is reasonable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_844_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zLRNexYJ6Pob" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_86F_z34710hwD0te"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zfMiSECon6d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zxcBvKpgR3qj" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 85%; border-collapse: collapse; margin-right: auto"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2Nzj2H08Qzf" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zVzE9ePz2yKf" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zn2E6djnzfR9" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_z1ghGZZV2eJ8" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zfXnk0GdunBj" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A5_zHwj8gnptBx3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company capitalizes expenditures for improvements that significantly extend the useful life of an asset. The Company recognizes a
gain (loss) on a sale of property, equipment, leaseholds and intangible assets based upon the proceeds received on the sale less the
net carrying value of the asset. The Company charges expenditures for maintenance and repairs to operations when
incurred.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zeZ907bzBE82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;I&lt;span id="xdx_86D_zrJOgAvjKXy8"&gt;mpairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Property,
Equipment, Leasehold, and Definite-lived Intangible Assets:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company reviews the carrying amount of our property, equipment, leasehold, and definite-lived intangible assets for impairment when events
or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. We measure recoverability of these
assets by comparing the carrying amounts to the future undiscounted cash flows that the assets or asset group are expected to generate.
If the carrying value of the assets or asset group are not recoverable, impairment is measured and recognized as the amount by which
the carrying value exceeds its fair value. Fair value is generally determined based on discounted future cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Goodwill
and Indefinite-lived Intangible Assets:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
and indefinite-lived intangible assets are tested for impairment annually by the Company on December 31 or more frequently if events
or changes in circumstances indicate that the carrying amount may not be recoverable. Goodwill is tested for impairment at the reporting
unit level using a two-step process which includes a qualitative and quantitative assessment. Indefinite-lived intangible assets are
tested for impairment by comparing their fair value to their carrying amount. If the carrying amount exceeds the fair value, an impairment
loss is recognized in the period it is identified. The Company determines fair value using appropriate valuation methodologies, including
discounted cash flow models and market-based approaches, which incorporate assumptions regarding future performance, growth rates, discount
rates, and other relevant factors. Any impairment losses recognized are recorded as an expense in the consolidated statements of income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zba8rGYY8AW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_86B_zeB9auFSKag2"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the period. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of operations and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84A_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zP4DM087qh2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_867_zRhVDTN3d8Oc"&gt;Revenue Recognition&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
17.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84C_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zVNYfpFWLmmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_868_zKuoKEewouH9"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s common stock issued in exchange for services is valued at fair value based upon trading prices of the Company&#x2019;s
common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized over the period
that the services are performed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z7AMVg5P0Y42" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_86E_zYUcysUwtS2"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Stock-based
compensation expense is recognized for equity awards granted to employees, directors and other eligible participants based on the fair
value of the awards at the grant date. For stock options, fair value is estimated using an appropriate valuation model such as the Black-Scholes
option pricing model. The fair value of stock options is recognized as an expense of the requisite service period, typically the vesting
period, using the graded-vesting method. The Company estimates expensed forfeitures based on historical data and adjusts stock-based
compensation expenses accordingly. Shares are issued from Treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zwYX7ZQXQhp5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_86D_zo1docHWWMb5"&gt;Other Comprehensive Income&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_842_eus-gaap--EarningsPerSharePolicyTextBlock_z3eBVTG1in63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_866_zH2qP2OXIv9j"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended December
31, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--UseOfEstimates_zWRPzYBChKz" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_86B_zXhORJwNQlE3"&gt;Use of Estimates&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zE5Zxn3cHFGg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_864_z8cjgVWyXSG4"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; 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;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair values of cash, term deposits, investments and the line of credit for all periods presented approximate their respective carrying
amounts due to the short term nature of these financial instruments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zYgJZCbglFBc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_865_zk59GaAKDyX5"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zcFt82fmaJd6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_864_zZZcRIxY8u55"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income 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 reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;It
is the Company&#x2019;s policy to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s
assessment of whether a tax benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2024,
the Company believes it has appropriately accounted for any unrecognized tax benefits.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
the extent the Company prevails in matters for which a liability for an unrecognized benefit is established or is required to pay amounts
in excess of the liability, the Company&#x2019;s effective tax rate in a given financial statement period may be affected. Interest and
penalties associated with the Company&#x2019;s tax positions are recorded as interest expense in the consolidated statements of income
and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zQe1idJCkAnd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_869_zRI9JxohR6ql"&gt;Risk Management&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zIrYMxhtz70f"&gt;20,779,311&lt;/span&gt;
(&lt;span id="xdx_907_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7yVw9SkpRSf" title="Concentration risk threshold percentage"&gt;54&lt;/span&gt;%) for the year ended December 31, 2024 (2023 - $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6CEgDlzIBpe"&gt;20,482,798&lt;/span&gt; or &lt;span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlVWf0mh3Uu8" title="Concentration risk threshold percentage"&gt;53&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers
totaled $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zKE6FQrIWkja"&gt;7,585,199&lt;/span&gt; (&lt;span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zHXR47kRQwYg" title="Concentration risk threshold percentage"&gt;65&lt;/span&gt;%) at December 31, 2024 (2023 - $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcfkw6nZOgal"&gt;6,561,164&lt;/span&gt; or &lt;span id="xdx_90D_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zZNgriIhqy3e" title="Concentration risk threshold percentage"&gt;67&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to foreign exchange risk to the extent that market value rate fluctuations materially differ for financial assets
and liabilities denominated in foreign currencies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will refinance
its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--LesseeLeasesPolicyTextBlock_zwqCaasXgiTd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_865_zXvkcTwCDF25"&gt;Leases&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#x201c;ROU&#x201d;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#x2019;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#x2019;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#x2019;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#x2019;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--EquityMethodInvestmentsPolicy_ztywctyfx10l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_863_z4snU2xnTh5"&gt;Investments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Investment,
at cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments in equity securities that do not have a readily determinable fair value using the cost method. These
investments are initially recorded at cost and are not subsequently remeasured unless impaired. Dividends received from cost-method investments
are recognized as income when declared, provided they do not represent a return of capital. The Company evaluates these investments for
impairment at each reporting period based on qualitative factors, such as financial condition, operational performance, and general market
conditions affecting the investee. If an investment is determined to be impaired and the impairment is considered other than temporary,
the carrying amount is reduced to its estimated recoverable value, with the impairment loss recognized in earnings.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Investment,
equity method&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments in entities over which it has significant influence, but not control, using the equity method of accounting.
Under the equity method, the investment is initially recorded at cost, and the carrying amount is subsequently adjusted for the Company&#x2019;s
share of the investee&#x2019;s income, losses, and dividends received. When a portion of an equity-method investment is sold, the Company
recognizes a gain or loss on the sale based on the difference between the carrying amount of the investment sold and the proceeds received.
The Company adjusts the carrying amount of the remaining investment based on its proportionate share of the investee&#x2019;s equity after
the sale. The Company assesses its equity-method investments for impairment whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. If the carrying amount of an equity-method investment exceeds its recoverable amount, an
impairment loss is recognized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_842_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_z0uFHxABgghl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;span id="xdx_868_zazsskGLvYLb"&gt;Reclassification&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
prior year amounts have been reclassified to conform to the 2024 financial statements presentation. Reclassifications had no effect on
net income, cash flows, or stockholders&#x2019; equity as previously reported.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zGpDNmgvkrOi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(u)
&lt;i&gt;&lt;span id="xdx_865_zeeq3FNJCMG4"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Goodwill&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price over the fair value of identifiable net assets acquired in a business combination. Goodwill
is assigned to reporting units at the date of acquisition and is not amortized but is subject to periodic impairment testing. The carrying
amount of goodwill is adjusted only in the event of impairment or upon the disposal of a business.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Intangible
Assets&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets acquired separately are recorded at cost, while those acquired in a business combination are recognized at fair value as of the
acquisition date. Intangible assets are classified into the following categories:&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"&gt;&lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Definite-Lived
                                            Intangible Assets &#x2013; These assets are amortized over their estimated useful lives on
                                            a straight-line basis or another systematic basis that better reflects the pattern of consumption
                                            of economic benefits. The estimated useful lives of these assets are reviewed periodically
                                            to determine whether adjustments are necessary.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Indefinite-Lived
                                            Intangible Assets &#x2013; Certain intangible assets are classified as indefinite-lived when
                                            there is no foreseeable limit to the period over which they are expected to contribute to
                                            cash flows. These assets are not amortized but are subject to periodic evaluation to confirm
                                            their classification remains appropriate.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zRbV5intYoW5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(v)
&lt;i&gt;&lt;span id="xdx_860_zXZH6T2l2hQ8"&gt;Recent Accounting Pronouncements&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
November 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2023-07
(&lt;i&gt;Topic 280) Improvements to Reportable Segment Disclosures&lt;/i&gt;. The new guidance requires disclosure of significant segment expenses
that are (1) regularly provided to or easily computed from information regularly provided to the chief operating decision maker and (2)
included in the reported measure of segment profit or loss. The new standard also allows companies to disclose multiple measures of segment
profit or loss if those measures are used to assess performance and allocate resources. We adopted this guidance which resulted in additional
required disclosures included in our consolidated financial statements for the year ended December 31, 2024 and segment disclosure for
the comparative year ended December 31, 2023 were modified retrospectively to include the new requirements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU 2023-09 (&lt;i&gt;Topic 740) Improvements to Income Tax Disclosures&lt;/i&gt;. The new guidance is intended to
enhance annual income tax disclosures to address investor requests for more information about the tax risks and opportunities present
in an entity&#x2019;s operations. The amendments in this standard require disclosure of additional information in specified categories
with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and
foreign income taxes. They also require greater detail about individual reconciling items in the rate reconciliation to the extent the
impact of those items exceeds a specified threshold. In addition to new disclosures associated with the rate reconciliation, the amendments
in this update require information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign
taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed a quantitative threshold. The amendments
in this update are effective on January 1, 2025 for annual periods beginning after December 15, 2024, and early adoption is permitted.
The Company does not expect the adoption to have a material impact on the consolidated financial statements and has not early adopted
the standard.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
November 2024, the FASB issued ASU 2024-03, I&lt;i&gt;ncome Statement&#x2014;Reporting Comprehensive Income&#x2014;Expense Disaggregation Disclosures
(Subtopic 220-40): Disaggregation of Income Statement Expenses&lt;/i&gt;, which requires disclosure about the types of costs and expenses included
in certain expense captions presented on the income statement. The new disclosure requirements are effective for the Company&#x2019;s
annual periods beginning after December 15, 2026, and interim periods beginning after December 15, 2027, with early adoption permitted,
and may be applied either prospectively or retrospectively. The Company is currently evaluating the ASU to determine its impact on our
consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Management
does not believe that any other recently issued, but not yet effective, accounting standards if currently adopted would have a material
effect on the accompanying financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_856_z6x64cFcdhe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000667">&lt;p id="xdx_84C_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_z2lCrBR6E2Zi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_864_zk4FYV71CzJd"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of December 31,
2024 and 2023, the Company did not have any cash equivalents.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <FSI:TermDepositsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000669">&lt;p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_zVF0JH1RCgJ4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_860_zeuPrfKqkX1e"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has four term deposits that are maintained by commercials banks. The first term deposit is for $&lt;span id="xdx_90E_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zNFwydByZYF5"&gt;303,954&lt;/span&gt; and matures in February
2025. This deposit pays &lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zhXrD7tjI5u2"&gt;3&lt;/span&gt;% interest and if withdrawn before maturity, a penalty may be applied. The second term deposit is for $&lt;span id="xdx_90A_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zT2Z506PaWy6"&gt;742,834&lt;/span&gt;,
matures in March 2025 and pays interest at a rate of &lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zwhcNhD3H8Hl"&gt;2.65&lt;/span&gt;%. If withdrawn before maturity, the greater of the loss of accrued interest
or $&lt;span id="xdx_908_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zLIc9IBxJVYa" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall be levied. The third term deposit is for $&lt;span id="xdx_90C_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zk4BzyB7EfUl"&gt;1,038,721&lt;/span&gt; and matures in March 2025. This deposit pays
&lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zyg35twIPRv1"&gt;2.5&lt;/span&gt;% and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_90E_ecustom--MinimumInterestPenalty_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_z7fp4CN2adni" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall be levied.
The fourth term deposit is for $&lt;span id="xdx_902_eus-gaap--Deposits_iI_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zXZLqtSnLtI2"&gt;315,407&lt;/span&gt;, matures in February 2025 and pays interest at a rate of &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zQp7L2qDIk79"&gt;3&lt;/span&gt;%. If withdrawn before maturity, a
penalty may be applied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</FSI:TermDepositsPolicyTextBlock>
    <us-gaap:Deposits
      contextRef="AsOf2024-12-31_custom_FirstTermMember"
      decimals="0"
      id="Fact000670"
      unitRef="USD">303954</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_FirstTermMember"
      decimals="INF"
      id="Fact000671"
      unitRef="Pure">0.03</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:Deposits
      contextRef="AsOf2024-12-31_custom_SecondTermMember"
      decimals="0"
      id="Fact000672"
      unitRef="USD">742834</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_SecondTermMember"
      decimals="INF"
      id="Fact000673"
      unitRef="Pure">0.0265</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2024-12-31_custom_SecondTermMember"
      decimals="0"
      id="Fact000675"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:Deposits
      contextRef="AsOf2024-12-31_custom_ThirdTermMember"
      decimals="0"
      id="Fact000676"
      unitRef="USD">1038721</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_ThirdTermMember"
      decimals="INF"
      id="Fact000677"
      unitRef="Pure">0.025</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2024-12-31_custom_ThirdTermMember"
      decimals="0"
      id="Fact000679"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:Deposits
      contextRef="AsOf2024-12-31_custom_FourthTermMember"
      decimals="0"
      id="Fact000680"
      unitRef="USD">315407</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_FourthTermMember"
      decimals="INF"
      id="Fact000681"
      unitRef="Pure">0.03</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000683">&lt;p id="xdx_845_eus-gaap--InventoryPolicyTextBlock_zEWmm75pnrid" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_861_zpB0pRMcqEb3"&gt;Inventories and Cost of Sales&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost formula
to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point of sale.
Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling costs
(receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $&lt;span id="xdx_90F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zWno9pjdI8za" title="Sales"&gt;473,843&lt;/span&gt;; 2023 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zbmY3rEfWALh" title="Sales"&gt;522,033&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $&lt;span id="xdx_902_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20241231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ2lKnuUlIid" title="Cost of sales"&gt;895,463&lt;/span&gt;; 2023 - $&lt;span id="xdx_90B_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20231231__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zJ5BOtKG6v74" title="Cost of sales"&gt;944,811&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000685"
      unitRef="USD">473843</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000687"
      unitRef="USD">522033</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-012024-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000689"
      unitRef="USD">895463</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-12-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000691"
      unitRef="USD">944811</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy contextRef="From2024-01-01to2024-12-31" id="Fact000693">&lt;p id="xdx_845_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_zxCBPLYeCCul" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_868_zxftrGgO6xM5"&gt;Allowance for Doubtful Accounts&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s expected credit losses are determined through a review using historical credit loss experience; changes in asset specific
characteristics, current conditions, and reasonable and supportable future forecasts, among other specific account data, and is performed
at least quarterly. The Company develops and documents its methodology to determine its allowance for expected credit losses. Risk characteristics
used by the Company may include customer mix, knowledge of customers and general economic conditions of the various local economics,
among others. Specific account balances are written off when management determines the amounts to be uncollectible. Management has reviewed
the balance reserved through the allowance for expected losses and believes it is reasonable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000695">&lt;p id="xdx_844_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zLRNexYJ6Pob" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_86F_z34710hwD0te"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zfMiSECon6d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zxcBvKpgR3qj" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 85%; border-collapse: collapse; margin-right: auto"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2Nzj2H08Qzf" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zVzE9ePz2yKf" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zn2E6djnzfR9" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_z1ghGZZV2eJ8" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zfXnk0GdunBj" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A5_zHwj8gnptBx3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company capitalizes expenditures for improvements that significantly extend the useful life of an asset. The Company recognizes a
gain (loss) on a sale of property, equipment, leaseholds and intangible assets based upon the proceeds received on the sale less the
net carrying value of the asset. The Company charges expenditures for maintenance and repairs to operations when
incurred.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <FSI:ScheduleOfMethodOfDepreciationTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000697">&lt;p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zfMiSECon6d2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zxcBvKpgR3qj" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; width: 85%; border-collapse: collapse; margin-right: auto"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2Nzj2H08Qzf" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zVzE9ePz2yKf" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zn2E6djnzfR9" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_z1ghGZZV2eJ8" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_zfXnk0GdunBj" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
</FSI:ScheduleOfMethodOfDepreciationTableTextBlock>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-12-31_us-gaap_MachineryAndEquipmentMember"
      id="Fact000699">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-12-31_us-gaap_OfficeEquipmentMember"
      id="Fact000701">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      id="Fact000703">10%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-12-31_us-gaap_AutomobilesMember"
      id="Fact000705">Straight-line
    over 5 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-12-31_us-gaap_TechnologyEquipmentMember"
      id="Fact000707">Straight-line
    over 10 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000709">&lt;p id="xdx_843_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zeZ907bzBE82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;I&lt;span id="xdx_86D_zrJOgAvjKXy8"&gt;mpairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Property,
Equipment, Leasehold, and Definite-lived Intangible Assets:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company reviews the carrying amount of our property, equipment, leasehold, and definite-lived intangible assets for impairment when events
or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. We measure recoverability of these
assets by comparing the carrying amounts to the future undiscounted cash flows that the assets or asset group are expected to generate.
If the carrying value of the assets or asset group are not recoverable, impairment is measured and recognized as the amount by which
the carrying value exceeds its fair value. Fair value is generally determined based on discounted future cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Goodwill
and Indefinite-lived Intangible Assets:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
and indefinite-lived intangible assets are tested for impairment annually by the Company on December 31 or more frequently if events
or changes in circumstances indicate that the carrying amount may not be recoverable. Goodwill is tested for impairment at the reporting
unit level using a two-step process which includes a qualitative and quantitative assessment. Indefinite-lived intangible assets are
tested for impairment by comparing their fair value to their carrying amount. If the carrying amount exceeds the fair value, an impairment
loss is recognized in the period it is identified. The Company determines fair value using appropriate valuation methodologies, including
discounted cash flow models and market-based approaches, which incorporate assumptions regarding future performance, growth rates, discount
rates, and other relevant factors. Any impairment losses recognized are recorded as an expense in the consolidated statements of income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000711">&lt;p id="xdx_846_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zba8rGYY8AW6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_86B_zeB9auFSKag2"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the period. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of operations and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000713">&lt;p id="xdx_84A_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zP4DM087qh2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_867_zRhVDTN3d8Oc"&gt;Revenue Recognition&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
17.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <FSI:StockIssuedInExchangeForServicesPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000715">&lt;p id="xdx_84C_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zVNYfpFWLmmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_868_zKuoKEewouH9"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s common stock issued in exchange for services is valued at fair value based upon trading prices of the Company&#x2019;s
common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized over the period
that the services are performed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</FSI:StockIssuedInExchangeForServicesPolicyTextBlock>
    <us-gaap:CompensationRelatedCostsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000717">&lt;p id="xdx_84E_eus-gaap--CompensationRelatedCostsPolicyTextBlock_z7AMVg5P0Y42" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_86E_zYUcysUwtS2"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Stock-based
compensation expense is recognized for equity awards granted to employees, directors and other eligible participants based on the fair
value of the awards at the grant date. For stock options, fair value is estimated using an appropriate valuation model such as the Black-Scholes
option pricing model. The fair value of stock options is recognized as an expense of the requisite service period, typically the vesting
period, using the graded-vesting method. The Company estimates expensed forfeitures based on historical data and adjusts stock-based
compensation expenses accordingly. Shares are issued from Treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CompensationRelatedCostsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000719">&lt;p id="xdx_843_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_zwYX7ZQXQhp5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_86D_zo1docHWWMb5"&gt;Other Comprehensive Income&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000721">&lt;p id="xdx_842_eus-gaap--EarningsPerSharePolicyTextBlock_z3eBVTG1in63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_866_zH2qP2OXIv9j"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the years ended December
31, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2024-01-01to2024-12-31" id="Fact000723">&lt;p id="xdx_848_eus-gaap--UseOfEstimates_zWRPzYBChKz" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_86B_zXhORJwNQlE3"&gt;Use of Estimates&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:UseOfEstimates>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="From2024-01-01to2024-12-31" id="Fact000725">&lt;p id="xdx_848_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zE5Zxn3cHFGg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_864_z8cjgVWyXSG4"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; 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;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair values of cash, term deposits, investments and the line of credit for all periods presented approximate their respective carrying
amounts due to the short term nature of these financial instruments.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the long term debt for all periods presented approximate their respective carrying amounts due to these financial instruments
being at market rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000727">&lt;p id="xdx_843_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zYgJZCbglFBc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_865_zk59GaAKDyX5"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000729">&lt;p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zcFt82fmaJd6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_864_zZZcRIxY8u55"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income 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 reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;It
is the Company&#x2019;s policy to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s
assessment of whether a tax benefit is more likely than not to be sustained upon examination by tax authorities. At December 31, 2024,
the Company believes it has appropriately accounted for any unrecognized tax benefits.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
the extent the Company prevails in matters for which a liability for an unrecognized benefit is established or is required to pay amounts
in excess of the liability, the Company&#x2019;s effective tax rate in a given financial statement period may be affected. Interest and
penalties associated with the Company&#x2019;s tax positions are recorded as interest expense in the consolidated statements of income
and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2024-01-01to2024-12-31" id="Fact000731">&lt;p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zQe1idJCkAnd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_869_zRI9JxohR6ql"&gt;Risk Management&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying consolidated
balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior experience and
the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by customers. Credit exposure
is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_90D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zIrYMxhtz70f"&gt;20,779,311&lt;/span&gt;
(&lt;span id="xdx_907_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z7yVw9SkpRSf" title="Concentration risk threshold percentage"&gt;54&lt;/span&gt;%) for the year ended December 31, 2024 (2023 - $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6CEgDlzIBpe"&gt;20,482,798&lt;/span&gt; or &lt;span id="xdx_90B_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zlVWf0mh3Uu8" title="Concentration risk threshold percentage"&gt;53&lt;/span&gt;%). Accounts receivable for the Company&#x2019;s three primary customers
totaled $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zKE6FQrIWkja"&gt;7,585,199&lt;/span&gt; (&lt;span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20241231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zHXR47kRQwYg" title="Concentration risk threshold percentage"&gt;65&lt;/span&gt;%) at December 31, 2024 (2023 - $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zcfkw6nZOgal"&gt;6,561,164&lt;/span&gt; or &lt;span id="xdx_90D_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zZNgriIhqy3e" title="Concentration risk threshold percentage"&gt;67&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to foreign exchange risk to the extent that market value rate fluctuations materially differ for financial assets
and liabilities denominated in foreign currencies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will refinance
its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="0"
      id="Fact000732"
      unitRef="USD">20779311</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      id="Fact000734"
      unitRef="Pure">0.54</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="0"
      id="Fact000735"
      unitRef="USD">20482798</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      id="Fact000737"
      unitRef="Pure">0.53</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      id="Fact000738"
      unitRef="USD">7585199</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2024-01-012024-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact000740"
      unitRef="Pure">0.65</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      id="Fact000741"
      unitRef="USD">6561164</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact000743"
      unitRef="Pure">0.67</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000745">&lt;p id="xdx_843_eus-gaap--LesseeLeasesPolicyTextBlock_zwqCaasXgiTd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_865_zXvkcTwCDF25"&gt;Leases&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#x201c;ROU&#x201d;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#x2019;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#x2019;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#x2019;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#x2019;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2024-01-01to2024-12-31" id="Fact000747">&lt;p id="xdx_848_eus-gaap--EquityMethodInvestmentsPolicy_ztywctyfx10l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_863_z4snU2xnTh5"&gt;Investments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Investment,
at cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments in equity securities that do not have a readily determinable fair value using the cost method. These
investments are initially recorded at cost and are not subsequently remeasured unless impaired. Dividends received from cost-method investments
are recognized as income when declared, provided they do not represent a return of capital. The Company evaluates these investments for
impairment at each reporting period based on qualitative factors, such as financial condition, operational performance, and general market
conditions affecting the investee. If an investment is determined to be impaired and the impairment is considered other than temporary,
the carrying amount is reduced to its estimated recoverable value, with the impairment loss recognized in earnings.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Investment,
equity method&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments in entities over which it has significant influence, but not control, using the equity method of accounting.
Under the equity method, the investment is initially recorded at cost, and the carrying amount is subsequently adjusted for the Company&#x2019;s
share of the investee&#x2019;s income, losses, and dividends received. When a portion of an equity-method investment is sold, the Company
recognizes a gain or loss on the sale based on the difference between the carrying amount of the investment sold and the proceeds received.
The Company adjusts the carrying amount of the remaining investment based on its proportionate share of the investee&#x2019;s equity after
the sale. The Company assesses its equity-method investments for impairment whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. If the carrying amount of an equity-method investment exceeds its recoverable amount, an
impairment loss is recognized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription contextRef="From2024-01-01to2024-12-31" id="Fact000749">&lt;p id="xdx_842_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_z0uFHxABgghl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;span id="xdx_868_zazsskGLvYLb"&gt;Reclassification&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
prior year amounts have been reclassified to conform to the 2024 financial statements presentation. Reclassifications had no effect on
net income, cash flows, or stockholders&#x2019; equity as previously reported.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000751">&lt;p id="xdx_846_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zGpDNmgvkrOi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(u)
&lt;i&gt;&lt;span id="xdx_865_zeeq3FNJCMG4"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Goodwill&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price over the fair value of identifiable net assets acquired in a business combination. Goodwill
is assigned to reporting units at the date of acquisition and is not amortized but is subject to periodic impairment testing. The carrying
amount of goodwill is adjusted only in the event of impairment or upon the disposal of a business.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Intangible
Assets&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets acquired separately are recorded at cost, while those acquired in a business combination are recognized at fair value as of the
acquisition date. Intangible assets are classified into the following categories:&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0; margin-bottom: 0"&gt;&lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Definite-Lived
                                            Intangible Assets &#x2013; These assets are amortized over their estimated useful lives on
                                            a straight-line basis or another systematic basis that better reflects the pattern of consumption
                                            of economic benefits. The estimated useful lives of these assets are reviewed periodically
                                            to determine whether adjustments are necessary.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Indefinite-Lived
                                            Intangible Assets &#x2013; Certain intangible assets are classified as indefinite-lived when
                                            there is no foreseeable limit to the period over which they are expected to contribute to
                                            cash flows. These assets are not amortized but are subject to periodic evaluation to confirm
                                            their classification remains appropriate.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000753">&lt;p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zRbV5intYoW5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(v)
&lt;i&gt;&lt;span id="xdx_860_zXZH6T2l2hQ8"&gt;Recent Accounting Pronouncements&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
November 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2023-07
(&lt;i&gt;Topic 280) Improvements to Reportable Segment Disclosures&lt;/i&gt;. The new guidance requires disclosure of significant segment expenses
that are (1) regularly provided to or easily computed from information regularly provided to the chief operating decision maker and (2)
included in the reported measure of segment profit or loss. The new standard also allows companies to disclose multiple measures of segment
profit or loss if those measures are used to assess performance and allocate resources. We adopted this guidance which resulted in additional
required disclosures included in our consolidated financial statements for the year ended December 31, 2024 and segment disclosure for
the comparative year ended December 31, 2023 were modified retrospectively to include the new requirements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU 2023-09 (&lt;i&gt;Topic 740) Improvements to Income Tax Disclosures&lt;/i&gt;. The new guidance is intended to
enhance annual income tax disclosures to address investor requests for more information about the tax risks and opportunities present
in an entity&#x2019;s operations. The amendments in this standard require disclosure of additional information in specified categories
with respect to the reconciliation of the effective tax rate to the statutory rate (the rate reconciliation) for federal, state, and
foreign income taxes. They also require greater detail about individual reconciling items in the rate reconciliation to the extent the
impact of those items exceeds a specified threshold. In addition to new disclosures associated with the rate reconciliation, the amendments
in this update require information pertaining to taxes paid (net of refunds received) to be disaggregated for federal, state, and foreign
taxes and further disaggregated for specific jurisdictions to the extent the related amounts exceed a quantitative threshold. The amendments
in this update are effective on January 1, 2025 for annual periods beginning after December 15, 2024, and early adoption is permitted.
The Company does not expect the adoption to have a material impact on the consolidated financial statements and has not early adopted
the standard.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
November 2024, the FASB issued ASU 2024-03, I&lt;i&gt;ncome Statement&#x2014;Reporting Comprehensive Income&#x2014;Expense Disaggregation Disclosures
(Subtopic 220-40): Disaggregation of Income Statement Expenses&lt;/i&gt;, which requires disclosure about the types of costs and expenses included
in certain expense captions presented on the income statement. The new disclosure requirements are effective for the Company&#x2019;s
annual periods beginning after December 15, 2026, and interim periods beginning after December 15, 2027, with early adoption permitted,
and may be applied either prospectively or retrospectively. The Company is currently evaluating the ASU to determine its impact on our
consolidated financial statements and disclosures.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Management
does not believe that any other recently issued, but not yet effective, accounting standards if currently adopted would have a material
effect on the accompanying financial statements.&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000755">&lt;p id="xdx_809_eus-gaap--LesseeOperatingLeasesTextBlock_z1MLYijMAgC5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;3.
&lt;span id="xdx_82A_zJM8IygiJV1g"&gt;LEASES&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
January 2016, NanoChem Solutions Inc. leased a space in Naperville, IL for office and research and development. The lease was for an
initial five years and renewable every five years for a further five years. In March 2024, the Company consolidated NanoChem operations
into the Peru, IL locations and terminated the lease in Naperville, IL. The Company had to pay a penalty of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_909_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20241231_zMisVZ6Z8Sed" title="Payment of penalty"&gt;35,910&lt;/span&gt; and forfeited the
$&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90C_eus-gaap--SecurityDeposit_iI_c20241231_zMZbJakGucn1" title="Security deposit"&gt;5,440&lt;/span&gt; security deposit to terminate the lease early and incurred a loss of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExFQVNFUyAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90B_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20241231_zmF4TO5cFoS7" title="Loss on terminating lease"&gt;41,350&lt;/span&gt; on early termination of the lease that is shown on
the consolidated statement of income and comprehensive income as a part of non-operating income (loss). The table below summarizes the
right-of-use asset and lease liability for the periods ended December 31, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zbhZZKg2ZM92" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zE8k3KCZ43Id" style="display: none"&gt;SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="text-decoration: underline"&gt;Right of Use Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zCfIjzW05UYk" style="width: 16%; text-align: right" title="Right of use assets, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zwCb3lOvnrU4" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, Amortization"&gt;(51,929&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20241231_zbUv1TjT4ifh" style="text-align: right" title="Right of use assets, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Amortization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20241231_zkbhabwJs2aa" style="text-align: right" title="Right of use assets, Amortization"&gt;(13,694&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zYrxsT2rPrwi" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance at December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20241231_zinGg9sgcT71" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0775"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zRydc8mseAL1" style="text-align: right" title="Lease liability, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zAnnfQt24tTf" style="text-align: right" title="Lease interest expense"&gt;6,151&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_ztWqgfZSBvS6" style="border-bottom: Black 1pt solid; text-align: right" title="Payments"&gt;(58,080&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20241231_zclt0mcd1Ml6" style="text-align: right" title="Lease liability, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--LeaseInterestExpense_pp0p0_c20240101__20241231_zkoJrjNZiM9j" style="text-align: right" title="Lease interest expense"&gt;1,186&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20241231_zPG8SqK9P0Rd" style="text-align: right" title="Payments"&gt;(14,880&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zBEcZHTwH2Ba" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance at December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20241231_zrdt0DA17eal" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0791"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_z0DUtJ0Mc1l3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseLeaseIncomeLeasePayments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000757"
      unitRef="USD">35910</us-gaap:OperatingLeaseLeaseIncomeLeasePayments>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000759"
      unitRef="USD">5440</us-gaap:SecurityDeposit>
    <us-gaap:GainLossOnTerminationOfLease
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000761"
      unitRef="USD">-41350</us-gaap:GainLossOnTerminationOfLease>
    <FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000763">&lt;p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zbhZZKg2ZM92" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zE8k3KCZ43Id" style="display: none"&gt;SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&lt;span style="text-decoration: underline"&gt;Right of Use Assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zCfIjzW05UYk" style="width: 16%; text-align: right" title="Right of use assets, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zwCb3lOvnrU4" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, Amortization"&gt;(51,929&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20241231_zbUv1TjT4ifh" style="text-align: right" title="Right of use assets, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Amortization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20241231_zkbhabwJs2aa" style="text-align: right" title="Right of use assets, Amortization"&gt;(13,694&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zYrxsT2rPrwi" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance at December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20241231_zinGg9sgcT71" style="border-bottom: Black 1pt solid; text-align: right" title="Right of use assets, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0775"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zRydc8mseAL1" style="text-align: right" title="Lease liability, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zAnnfQt24tTf" style="text-align: right" title="Lease interest expense"&gt;6,151&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_ztWqgfZSBvS6" style="border-bottom: Black 1pt solid; text-align: right" title="Payments"&gt;(58,080&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20241231_zclt0mcd1Ml6" style="text-align: right" title="Lease liability, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--LeaseInterestExpense_pp0p0_c20240101__20241231_zkoJrjNZiM9j" style="text-align: right" title="Lease interest expense"&gt;1,186&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20241231_zPG8SqK9P0Rd" style="text-align: right" title="Payments"&gt;(14,880&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20241231_zBEcZHTwH2Ba" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance at December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20241231_zrdt0DA17eal" style="border-bottom: Black 1pt solid; text-align: right" title="Lease liability, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0791"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000765"
      unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000767"
      unitRef="USD">51929</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000769"
      unitRef="USD">115293</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000771"
      unitRef="USD">13694</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <FSI:OperatingLeaseRightOfUseAssetEarlyTerminationOfLease
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000773"
      unitRef="USD">101599</FSI:OperatingLeaseRightOfUseAssetEarlyTerminationOfLease>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000777"
      unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <FSI:LeaseInterestExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000779"
      unitRef="USD">6151</FSI:LeaseInterestExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000781"
      unitRef="USD">58080</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000783"
      unitRef="USD">115293</us-gaap:OperatingLeaseLiability>
    <FSI:LeaseInterestExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000785"
      unitRef="USD">1186</FSI:LeaseInterestExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000787"
      unitRef="USD">14880</us-gaap:OperatingLeasePayments>
    <FSI:OperatingLeaseLiabilityEarlyTerminationOfLease
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000789"
      unitRef="USD">101599</FSI:OperatingLeaseLiabilityEarlyTerminationOfLease>
    <us-gaap:FinancingReceivablesTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000793">&lt;p id="xdx_804_eus-gaap--FinancingReceivablesTextBlock_zlH3EknNxne5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;4.
&lt;span id="xdx_82C_zp3KvwfBgf41"&gt;ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zceJdz93jAz3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;span id="xdx_8BD_zsNvlspjAuve" style="display: none"&gt;SCHEDULE OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20241231_zjKi15ji8vB4" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zvJLzn1nj8Sa" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zyZvO4bzX9Va" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;11,983,200&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;10,133,249&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zoH0ovnUx8R" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Allowances for doubtful accounts&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(287,102&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(290,193&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zOnB23kJ4XFh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,696,098&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,843,056&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zSDTRmwnFsPj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:FinancingReceivablesTextBlock>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000795">&lt;p id="xdx_89B_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_zceJdz93jAz3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;span id="xdx_8BD_zsNvlspjAuve" style="display: none"&gt;SCHEDULE OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20241231_zjKi15ji8vB4" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zvJLzn1nj8Sa" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zyZvO4bzX9Va" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;11,983,200&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;10,133,249&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zoH0ovnUx8R" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Allowances for doubtful accounts&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(287,102&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(290,193&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_zOnB23kJ4XFh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,696,098&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,843,056&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000797"
      unitRef="USD">11983200</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000798"
      unitRef="USD">10133249</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000800"
      unitRef="USD">287102</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000801"
      unitRef="USD">290193</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AccountsAndNotesReceivableNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000803"
      unitRef="USD">11696098</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:AccountsAndNotesReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000804"
      unitRef="USD">9843056</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000806">&lt;p id="xdx_804_eus-gaap--InventoryDisclosureTextBlock_zc57RW1gbCy3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;5.
&lt;span id="xdx_826_zKuqTKJk0hmi"&gt;INVENTORIES&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zjA55gkuqAFe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;span id="xdx_8B4_zav20Skyj59d" style="display: none"&gt;SCHEDULE OF INVENTORY&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20241231_zaOsFw2WGBEh" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zptX4gkCyfm4" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zooVWBpivpta" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Completed goods&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,060,508&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,682,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_z5yqieO4BTlh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Raw materials and supplies&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;7,829,687&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,452,731&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zR5hQtYbncsb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;10,890,195&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,134,889&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zKbqTTpxRyE1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000808">&lt;p id="xdx_89A_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zjA55gkuqAFe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;span id="xdx_8B4_zav20Skyj59d" style="display: none"&gt;SCHEDULE OF INVENTORY&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20241231_zaOsFw2WGBEh" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zptX4gkCyfm4" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zooVWBpivpta" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Completed goods&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,060,508&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,682,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_z5yqieO4BTlh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Raw materials and supplies&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;7,829,687&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,452,731&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zR5hQtYbncsb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;10,890,195&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,134,889&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000810"
      unitRef="USD">3060508</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000811"
      unitRef="USD">2682158</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000813"
      unitRef="USD">7829687</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000814"
      unitRef="USD">8452731</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000816"
      unitRef="USD">10890195</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000817"
      unitRef="USD">11134889</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000819">&lt;p id="xdx_801_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zZYqjTafLkHg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;6.
&lt;span id="xdx_822_zzKAHieqV9B3"&gt;PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89A_eus-gaap--PropertyPlantAndEquipmentTextBlock_z26C1ni6SvY6" style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zW2bFAcFq465" style="display: none"&gt;SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJsSigAd4Njj" style="text-align: center"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z03gwukTC1e2" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zN289plvkUjh" style="text-align: center"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zqi9ErJGRXL2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,795,750&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;4,521,212&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,274,538&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zNGLe6XEDFKh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;168,807&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27,448&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zJCC8feQyED2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;124,526&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;117,011&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,515&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zoDBD1e6kTpg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,318,758&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,922,667&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,396,091&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zk7Fe869R7Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0835"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2p1UU4f2rs6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0839"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_znpugGNg8F9a" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;94,945&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;94,945&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0842"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20241231_zqWRoBHlyTb3" style="border-bottom: Black 1pt solid; text-align: right" title="Cost"&gt;28,980,826&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20241231_zHJqqqt8OIL4" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;11,834,642&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20241231_zl30C3rLDUda" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;17,146,184&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zLAZqoU5RiMg" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z7GyNtS097C3" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zQVJb0ZQHvnh" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zPpHwsnWT94j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,341,605&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,896,887&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,444,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_415_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zYnUXY6iTUj1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;140,040&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z65UpD8F1Bg5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;177,623&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;165,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,575&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zstlo9zVrleh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,017,466&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,799,779&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,217,687&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zfv93Uve4NQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0862"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zw505N51wEEd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0866"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zAd4WYSzuwne" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0869"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_zaG8yrTDd3Sc" style="border-bottom: Black 1pt solid; text-align: right" title="Cost"&gt;23,365,705&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zEF8TEe7OGta" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,193,918&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zcktki9Ioz39" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,171,787&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zGI82I2MSNe5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Amount
of depreciation expense for 2024 was: $&lt;span id="xdx_90E_eus-gaap--Depreciation_c20240101__20241231_zBcY4YeQz4Z7" title="Depreciation"&gt;1,797,476&lt;/span&gt; (2023 - $&lt;span id="xdx_90D_eus-gaap--Depreciation_c20230101__20231231_z5ORYkNCNrd6" title="Depreciation"&gt;1,526,319&lt;/span&gt;) and is included in cost of sales in the consolidated statements
of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2023, the Company sold the boat and $&lt;span id="xdx_907_eus-gaap--GainLossOnDispositionOfAssets1_c20230101__20231231_z3UxOmoOoeXb" title="Sale of assets"&gt;4,589&lt;/span&gt; was recognized as a gain on sales of asset in the consolidated statements of income and comprehensive
income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000821">&lt;p id="xdx_89A_eus-gaap--PropertyPlantAndEquipmentTextBlock_z26C1ni6SvY6" style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zW2bFAcFq465" style="display: none"&gt;SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zJsSigAd4Njj" style="text-align: center"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z03gwukTC1e2" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zN289plvkUjh" style="text-align: center"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zqi9ErJGRXL2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,795,750&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;4,521,212&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,274,538&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zNGLe6XEDFKh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;168,807&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27,448&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zJCC8feQyED2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;124,526&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;117,011&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,515&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zoDBD1e6kTpg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,318,758&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,922,667&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,396,091&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zk7Fe869R7Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0835"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_z2p1UU4f2rs6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0839"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_413_20241231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_znpugGNg8F9a" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;94,945&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;94,945&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0842"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20241231_zqWRoBHlyTb3" style="border-bottom: Black 1pt solid; text-align: right" title="Cost"&gt;28,980,826&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20241231_zHJqqqt8OIL4" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;11,834,642&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20241231_zl30C3rLDUda" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;17,146,184&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zLAZqoU5RiMg" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_z7GyNtS097C3" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zQVJb0ZQHvnh" style="text-align: center"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zPpHwsnWT94j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,341,605&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,896,887&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,444,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_415_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zYnUXY6iTUj1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;140,040&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z65UpD8F1Bg5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;177,623&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;165,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,575&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zstlo9zVrleh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,017,466&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,799,779&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,217,687&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zfv93Uve4NQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0862"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zw505N51wEEd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0866"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zAd4WYSzuwne" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0869"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_zaG8yrTDd3Sc" style="border-bottom: Black 1pt solid; text-align: right" title="Cost"&gt;23,365,705&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zEF8TEe7OGta" style="border-bottom: Black 1pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,193,918&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zcktki9Ioz39" style="border-bottom: Black 1pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,171,787&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000822"
      unitRef="USD">12795750</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000823"
      unitRef="USD">4521212</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000824"
      unitRef="USD">8274538</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000825"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000826"
      unitRef="USD">168807</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000827"
      unitRef="USD">27448</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000828"
      unitRef="USD">124526</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000829"
      unitRef="USD">117011</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000830"
      unitRef="USD">7515</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000831"
      unitRef="USD">15318758</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000832"
      unitRef="USD">6922667</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000833"
      unitRef="USD">8396091</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000834"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000836"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000837"
      unitRef="USD">10000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000838"
      unitRef="USD">10000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000840"
      unitRef="USD">94945</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000841"
      unitRef="USD">94945</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000844"
      unitRef="USD">28980826</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000846"
      unitRef="USD">11834642</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000848"
      unitRef="USD">17146184</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000849"
      unitRef="USD">12341605</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000850"
      unitRef="USD">3896887</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000851"
      unitRef="USD">8444718</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000852"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000853"
      unitRef="USD">140040</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000854"
      unitRef="USD">56215</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000855"
      unitRef="USD">177623</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000856"
      unitRef="USD">165048</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000857"
      unitRef="USD">12575</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000858"
      unitRef="USD">10017466</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000859"
      unitRef="USD">5799779</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000860"
      unitRef="USD">4217687</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000861"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000863"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000864"
      unitRef="USD">88872</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000865"
      unitRef="USD">88872</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000867"
      unitRef="USD">103292</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000868"
      unitRef="USD">103292</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000871"
      unitRef="USD">23365705</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000873"
      unitRef="USD">10193918</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000875"
      unitRef="USD">13171787</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000877"
      unitRef="USD">1797476</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000879"
      unitRef="USD">1526319</us-gaap:Depreciation>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000881"
      unitRef="USD">4589</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000883">&lt;p id="xdx_80B_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zmRYBnIA3r1f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;7.
&lt;span id="xdx_824_zhH9yDTaDuti"&gt;GOODWILL AND INTANGIBLE ASSETS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89D_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zi6NgYs1V30b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
and intangibles assets, all of which relates to the acquisition of ENP Investments in 2018, at December 31, 2024 and 2023 consisted of
the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zAGk8Pu7Aixa" style="display: none"&gt;SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20241231_zT8psaV5jxF8" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20231231_zSAO8KJ7bm8k" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--Goodwill_iI_zMNprXjkK17i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;2,534,275&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;2,534,275&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IntangibleAssetsNetExcludingGoodwillAbstract_iB_zGzDhN5MklN2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Intangibles Assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_i01I_maIANEGzAJm_z7XEp1wZbii3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Indefinite lived &#x2013; trade secrets and trademarks&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;770,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;770,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--FiniteLivedCustomerListsGross_i01I_maILIAEzFbq_zO72N9CLFDW9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Definite lived &#x2013; customer lists&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,350,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,350,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_i01NI_di_msILIAEzFbq_z0oKyziAwND5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated amortization on definite-lived intangibles assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,000,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(840,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsNet_i01TI_mtILIAEzFbq_maIANEGzAJm_zSyj2S8Nfgv4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Net definite-lived intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,350,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,510,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01TI_mtIANEGzAJm_zHuUIVOTGSC7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,120,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,280,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A2_zB7kEFjNDOi3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
amount of amortization for 2024 was $&lt;span id="xdx_90D_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20240101__20241231_zlf84vPJTgC9" title="Amortization"&gt;160,000&lt;/span&gt; (2023 - $&lt;span id="xdx_902_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20230101__20231231_zGJD2AEtGit3" title="Amortization"&gt;160,000&lt;/span&gt;) and was included in cost of sales in the consolidated statements of income
and comprehensive income. Estimated amortization expense over the next five years is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRc4BXpVj4W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B8_zYY52AgYdXXl" style="display: none"&gt;SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none"&gt;&#160;&lt;/td&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49D_20241231_zpdOtLX5pJu" style="display: none; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_zt137rRXdiy5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_zrwFIWjVo6o6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_zaVTZmYHqOgj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_z0WYuEw5v8fh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_zj6RP5M57T92" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2029&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_zr0s37vyLRDj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000885">&lt;p id="xdx_89D_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zi6NgYs1V30b" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
and intangibles assets, all of which relates to the acquisition of ENP Investments in 2018, at December 31, 2024 and 2023 consisted of
the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zAGk8Pu7Aixa" style="display: none"&gt;SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20241231_zT8psaV5jxF8" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20231231_zSAO8KJ7bm8k" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--Goodwill_iI_zMNprXjkK17i" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;2,534,275&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 16%; text-align: right"&gt;2,534,275&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IntangibleAssetsNetExcludingGoodwillAbstract_iB_zGzDhN5MklN2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Intangibles Assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_i01I_maIANEGzAJm_z7XEp1wZbii3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Indefinite lived &#x2013; trade secrets and trademarks&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;770,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;770,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--FiniteLivedCustomerListsGross_i01I_maILIAEzFbq_zO72N9CLFDW9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Definite lived &#x2013; customer lists&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,350,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,350,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_i01NI_di_msILIAEzFbq_z0oKyziAwND5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated amortization on definite-lived intangibles assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,000,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(840,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsNet_i01TI_mtILIAEzFbq_maIANEGzAJm_zSyj2S8Nfgv4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Net definite-lived intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,350,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,510,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01TI_mtIANEGzAJm_zHuUIVOTGSC7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total intangible assets&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,120,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,280,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock>
    <us-gaap:Goodwill
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000887"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000888"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000893"
      unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000894"
      unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:FiniteLivedCustomerListsGross
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000896"
      unitRef="USD">2350000</us-gaap:FiniteLivedCustomerListsGross>
    <us-gaap:FiniteLivedCustomerListsGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000897"
      unitRef="USD">2350000</us-gaap:FiniteLivedCustomerListsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000899"
      unitRef="USD">1000000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000900"
      unitRef="USD">840000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000902"
      unitRef="USD">1350000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000903"
      unitRef="USD">1510000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000905"
      unitRef="USD">2120000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000906"
      unitRef="USD">2280000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000908"
      unitRef="USD">160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000910"
      unitRef="USD">160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000912">&lt;p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zRc4BXpVj4W8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B8_zYY52AgYdXXl" style="display: none"&gt;SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none"&gt;&#160;&lt;/td&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49D_20241231_zpdOtLX5pJu" style="display: none; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_zt137rRXdiy5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_zrwFIWjVo6o6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_zaVTZmYHqOgj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_z0WYuEw5v8fh" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_iI_zj6RP5M57T92" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2029&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000914"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000916"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000918"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000920"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000922"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <FSI:LongTermDepositsTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000924">&lt;p id="xdx_807_ecustom--LongTermDepositsTextBlock_zYPRMTgYd97a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;8.
&lt;span style="font-variant: small-caps"&gt;&lt;span id="xdx_82B_z3y32DaxDmY7"&gt;LONG TERM DEPOSITS&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zYGlMr5XwdLh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has security deposits that are long term in nature which consist of damage deposits held by lessors and deposits held by various
vendors for equipment purchases.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zGyMDO0eIIjh" style="display: none"&gt;SCHEDULE OF LONG TERM DEPOSITS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20241231_zEt6tfQR8KM9" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_zzv9pPsT8Hx4" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zOW484KahRji" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Long term deposits&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;167,882&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;824,254&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zCA1Gfu027R6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&#160;&lt;/p&gt;

</FSI:LongTermDepositsTextBlock>
    <FSI:ScheduleOfLongTermDepositsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000926">&lt;p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_zYGlMr5XwdLh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has security deposits that are long term in nature which consist of damage deposits held by lessors and deposits held by various
vendors for equipment purchases.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zGyMDO0eIIjh" style="display: none"&gt;SCHEDULE OF LONG TERM DEPOSITS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20241231_zEt6tfQR8KM9" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_zzv9pPsT8Hx4" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zOW484KahRji" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Long term deposits&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;167,882&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;824,254&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfLongTermDepositsTableTextBlock>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000928"
      unitRef="USD">167882</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000929"
      unitRef="USD">824254</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000931">&lt;p id="xdx_803_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zGrpIlnKiZmk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;9.
&lt;span id="xdx_82C_z302JiRrH2jb"&gt;INVESTMENTS &lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--InvestmentHoldingsScheduleOfInvestmentsTableTextBlock_z1qKehfZgytb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The Company&#x2019;s investments at December
31, 2024 and 2023 consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B6_z8sGgsl7iEI9"&gt;SCHEDULE
OF COMPANY&#x2019;S INVESTMENTS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20241231_zEMFjctWQbzk" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_z0TyBiL2v412" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Investments, at cost:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--LygosIncMember_zpvYFk2tfrNj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; text-align: justify"&gt;Lygos Inc., simple agreement for future equity (&#x201c;SAFE&#x201d;)
    agreement&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,000,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,000,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zdQzMGll72k4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Trio Opportunity Corp., &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIENPTVBBTlmSUyBJTlZFU1RNRU5UUyAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90D_eus-gaap--Investments_iI_c20241231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zopIYtdbNY08" title="Investments"&gt;97,000&lt;/span&gt; non-voting Class B shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z2CKhH2WNwS1" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="display: none; padding-left: 10pt; text-align: justify"&gt;Investments, at cost:&lt;/td&gt;&lt;td style="display: none"&gt;&#160;&lt;/td&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none; text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none"&gt;&#160;&lt;/td&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none; text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Investment, equity method:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--EquityMethodInvestments_iI_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zRNP9jfqT6Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Florida-based LLC&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,454,381&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,063,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--EquityMethodInvestments_iI_zlJeUrtSwcdc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt; text-align: justify; padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,424,381&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,033,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AC_zcKJSGxk9Awf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. According to
the operating agreement, the Company had a &lt;span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zc9x4DVqqIp" title="Ownership percentage"&gt;50&lt;/span&gt;% interest in the profit and loss of the Florida based LLC but does not have control. In
August 2024, the Company sold a &lt;span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zuDSHdEhnoek" title="Ownership percentage"&gt;
30.1&lt;/span&gt;% interest in the Florida based LLC to a third party for consideration of $&lt;span id="xdx_901_eus-gaap--ProceedsFromSaleOfLandHeldForUse_pid_c20240801__20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z39DDXr7Hcf9" title="Unrelated party for consideration"&gt;2,000,000&lt;/span&gt;. In addition,
the Company entered a subsequent agreement for the sale of its remaining &lt;span id="xdx_909_ecustom--EquityMethodInvestmentRemainingPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zD1SOjgUzJ6a" title="Ownership remaining percentage"&gt;19.9&lt;/span&gt;% interest over the next five years for an additional $&lt;span id="xdx_909_eus-gaap--EquityMethodInvestments_iI_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zWHplRjpynbb" title="Equity method investments"&gt;4,000,000&lt;/span&gt;.
Starting in 2025, the Company will sell a further &lt;span id="xdx_90F_ecustom--EquityMethodInvestmentRemainingPercentage_iI_pid_dp_uPure_c20250101__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zwyVF9L822mi" title="Ownership remaining percentage"&gt;3.98&lt;/span&gt;% per year upon receipt of that years $&lt;span id="xdx_90A_eus-gaap--EquityMethodInvestments_iI_pid_c20250101__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zhreKn4sdzQe" title="Equity method investments"&gt;800,000&lt;/span&gt; payment. At December 31, 2024, the
Company continues to account for this investment using the equity investment as it exercises significant influence.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfk4C1Efn6u9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the activity associated with the Company&#x2019;s investment in the Florida based LLC during the years ended December 31, 2024
and 2023 is follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B8_zuqO14YEKrd2" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;Balance, December 31, 2022 &#x2013; 50% interest&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTQQViUm4gIe" style="width: 22%; text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Balance, December 31, 2022 &#x2013; &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_905_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20221231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zbjg8QY4oUa2" title="Ownership percentage"&gt;50&lt;/span&gt;% interest&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zK9UD2DnIYle" style="text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Company&#x2019;s proportionate share of earnings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zQFync7Zgq44" style="text-align: right" title="Company proportionate share of earnings"&gt;505,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: justify"&gt;Distribution received&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zOlDyUWFFSzh" style="border-bottom: Black 1pt solid; text-align: right" title="Distribution received"&gt;(200,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--EquityMethodInvestmentSale_z32XycPEMoUb" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Sale of 30.1% of Florida based LLC&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Balance, December 31, 2023 &#x2013; &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90E_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zE8xk2KR5sk4" title="Ownership percentage"&gt;50&lt;/span&gt;% interest&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUSUMtvEyqRe" style="text-align: right" title="Balance, Beginning"&gt;4,063,960&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Company&#x2019;s proportionate share of earnings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zd8NjGP6ruHl" style="text-align: right" title="Company's proportionate share of earnings"&gt;244,857&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Distribution received&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zi5GT4GYV7Ta" style="text-align: right" title="Distribution received"&gt;(510,710&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Basis of &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zsJ7tSGgw9r6" title="Interest sold percentage"&gt;30.1&lt;/span&gt;% of interest sold&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EquityMethodInvestmentSale_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zkOhaW2yf6Kc" style="border-bottom: Black 1pt solid; text-align: right" title="Basis of 30.1% of interest sold"&gt;(2,343,726&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Balance, December 31, 2024 &#x2013; &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20241231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z5DtwtukDwgb" title="Ownership percentage"&gt;19.9&lt;/span&gt;% interest&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsrEfkG1E501" style="border-bottom: Black 1pt solid; text-align: right" title="Balance, Ending"&gt;1,454,381&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A4_zp1t4ltvIVfd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zFDw7f7zjTpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized profit and loss information related to the Florida based LLC is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zSgmVn4lG8Oa" style="display: none"&gt;SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240101__20241231_zsuV8ygmH142" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20230101__20231231_zRTbzCsKE8Nh" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_z2YWxdLmMeNh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: justify"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;13,046,436&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;16,043,468&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zFVAFzYxyQOa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Gross profit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,640,973&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,668,177&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zL9M9QzHFSi2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Net income&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;455,241&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,010,128&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zSgcs0KaVJOg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2024, the Company had sales of $&lt;span id="xdx_908_eus-gaap--Revenues_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z9BWvn2MPbBf" title="Sales"&gt;8,235,394&lt;/span&gt; (2023 - $&lt;span id="xdx_90F_eus-gaap--Revenues_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zeyM8SR09Oxa" title="Sales"&gt;10,260,870&lt;/span&gt;) to the Florida based LLC, of which $&lt;span id="xdx_906_eus-gaap--AccountsReceivableNet_iI_c20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhiQGxMvUCe5" title="Accounts receivable related parties"&gt;1,866,645&lt;/span&gt;
is included within Accounts Receivable as at December 31, 2024 (2023 - $&lt;span id="xdx_900_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zPjgixDQWXB8" title="Accounts receivable related parties"&gt;2,073,813&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact000933">&lt;p id="xdx_899_eus-gaap--InvestmentHoldingsScheduleOfInvestmentsTableTextBlock_z1qKehfZgytb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The Company&#x2019;s investments at December
31, 2024 and 2023 consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B6_z8sGgsl7iEI9"&gt;SCHEDULE
OF COMPANY&#x2019;S INVESTMENTS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 95%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20241231_zEMFjctWQbzk" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_z0TyBiL2v412" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Investments, at cost:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--LygosIncMember_zpvYFk2tfrNj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; text-align: justify"&gt;Lygos Inc., simple agreement for future equity (&#x201c;SAFE&#x201d;)
    agreement&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,000,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,000,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zdQzMGll72k4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Trio Opportunity Corp., &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIENPTVBBTlmSUyBJTlZFU1RNRU5UUyAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90D_eus-gaap--Investments_iI_c20241231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zopIYtdbNY08" title="Investments"&gt;97,000&lt;/span&gt; non-voting Class B shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--Investments_iI_hdei--LegalEntityAxis__custom--TrioOpportunityCorpMember_z2CKhH2WNwS1" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="display: none; padding-left: 10pt; text-align: justify"&gt;Investments, at cost:&lt;/td&gt;&lt;td style="display: none"&gt;&#160;&lt;/td&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none; text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none"&gt;&#160;&lt;/td&gt;
    &lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="display: none; text-align: right"&gt;970,000&lt;/td&gt;&lt;td style="display: none; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Investment, equity method:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--EquityMethodInvestments_iI_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zRNP9jfqT6Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Florida-based LLC&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,454,381&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,063,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--EquityMethodInvestments_iI_zlJeUrtSwcdc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt; text-align: justify; padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,424,381&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,033,960&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:InvestmentHoldingsScheduleOfInvestmentsTableTextBlock>
    <us-gaap:Investments
      contextRef="AsOf2024-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact000935"
      unitRef="USD">1000000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact000936"
      unitRef="USD">1000000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2024-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact000941"
      unitRef="USD">97000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2024-12-31_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact000938"
      unitRef="USD">970000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-12-31_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact000939"
      unitRef="USD">970000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2024-12-31_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact000943"
      unitRef="USD">970000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-12-31_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact000944"
      unitRef="USD">970000</us-gaap:Investments>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000946"
      unitRef="USD">1454381</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000947"
      unitRef="USD">4063960</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact000949"
      unitRef="USD">3424381</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000950"
      unitRef="USD">6033960</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      id="Fact000952"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      id="Fact000954"
      unitRef="Pure">0.301</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ProceedsFromSaleOfLandHeldForUse
      contextRef="From2024-08-012024-08-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      id="Fact000956"
      unitRef="USD">2000000</us-gaap:ProceedsFromSaleOfLandHeldForUse>
    <FSI:EquityMethodInvestmentRemainingPercentage
      contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      id="Fact000958"
      unitRef="Pure">0.199</FSI:EquityMethodInvestmentRemainingPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000960"
      unitRef="USD">4000000</us-gaap:EquityMethodInvestments>
    <FSI:EquityMethodInvestmentRemainingPercentage
      contextRef="AsOf2025-01-01_custom_FloridaBasedLLCMember_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact000962"
      unitRef="Pure">0.0398</FSI:EquityMethodInvestmentRemainingPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2025-01-01_custom_FloridaBasedLLCMember_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact000964"
      unitRef="USD">800000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember"
      id="Fact000966">&lt;p id="xdx_896_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfk4C1Efn6u9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the activity associated with the Company&#x2019;s investment in the Florida based LLC during the years ended December 31, 2024
and 2023 is follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B8_zuqO14YEKrd2" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;Balance, December 31, 2022 &#x2013; 50% interest&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTQQViUm4gIe" style="width: 22%; text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Balance, December 31, 2022 &#x2013; &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_905_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20221231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zbjg8QY4oUa2" title="Ownership percentage"&gt;50&lt;/span&gt;% interest&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zK9UD2DnIYle" style="text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Company&#x2019;s proportionate share of earnings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zQFync7Zgq44" style="text-align: right" title="Company proportionate share of earnings"&gt;505,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt; text-align: justify"&gt;Distribution received&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zOlDyUWFFSzh" style="border-bottom: Black 1pt solid; text-align: right" title="Distribution received"&gt;(200,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--EquityMethodInvestmentSale_z32XycPEMoUb" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Sale of 30.1% of Florida based LLC&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Balance, December 31, 2023 &#x2013; &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_90E_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zE8xk2KR5sk4" title="Ownership percentage"&gt;50&lt;/span&gt;% interest&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zUSUMtvEyqRe" style="text-align: right" title="Balance, Beginning"&gt;4,063,960&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Company&#x2019;s proportionate share of earnings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zd8NjGP6ruHl" style="text-align: right" title="Company's proportionate share of earnings"&gt;244,857&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Distribution received&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--EquityMethodInvestmentDividendsOrDistributions_iN_pp0p0_di_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zi5GT4GYV7Ta" style="text-align: right" title="Distribution received"&gt;(510,710&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Basis of &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20240831__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zsJ7tSGgw9r6" title="Interest sold percentage"&gt;30.1&lt;/span&gt;% of interest sold&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EquityMethodInvestmentSale_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zkOhaW2yf6Kc" style="border-bottom: Black 1pt solid; text-align: right" title="Basis of 30.1% of interest sold"&gt;(2,343,726&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Balance, December 31, 2024 &#x2013; &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIEVRVUlUWSBNRVRIT0QgSU5WRVNUTUVOVCAoRGV0YWlscykgKFBhcmVudGhldGljYWwpAA__" id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20241231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_z5DtwtukDwgb" title="Ownership percentage"&gt;19.9&lt;/span&gt;% interest&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20241231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsrEfkG1E501" style="border-bottom: Black 1pt solid; text-align: right" title="Balance, Ending"&gt;1,454,381&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000968"
      unitRef="USD">3758895</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember100479515"
      decimals="INF"
      id="Fact000970"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000972"
      unitRef="USD">3758895</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000974"
      unitRef="USD">505065</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentDividendsOrDistributions
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000976"
      unitRef="USD">200000</us-gaap:EquityMethodInvestmentDividendsOrDistributions>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember100479531"
      decimals="INF"
      id="Fact000979"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000981"
      unitRef="USD">4063960</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000983"
      unitRef="USD">244857</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentDividendsOrDistributions
      contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000985"
      unitRef="USD">510710</us-gaap:EquityMethodInvestmentDividendsOrDistributions>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2024-08-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      id="Fact000987"
      unitRef="Pure">0.301</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <FSI:EquityMethodInvestmentSale
      contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000989"
      unitRef="USD">-2343726</FSI:EquityMethodInvestmentSale>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember100479531"
      decimals="INF"
      id="Fact000991"
      unitRef="Pure">0.199</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000993"
      unitRef="USD">1454381</us-gaap:EquityMethodInvestments>
    <us-gaap:GainLossOnInvestmentsTextBlock
      contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember"
      id="Fact000995">&lt;p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zFDw7f7zjTpk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized profit and loss information related to the Florida based LLC is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zSgmVn4lG8Oa" style="display: none"&gt;SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240101__20241231_zsuV8ygmH142" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20230101__20231231_zRTbzCsKE8Nh" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_z2YWxdLmMeNh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: justify"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;13,046,436&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;16,043,468&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zFVAFzYxyQOa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Gross profit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,640,973&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,668,177&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zL9M9QzHFSi2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Net income&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;455,241&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,010,128&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:GainLossOnInvestmentsTextBlock>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact000997"
      unitRef="USD">13046436</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000998"
      unitRef="USD">16043468</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001000"
      unitRef="USD">3640973</us-gaap:RealizedInvestmentGainsLosses>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001001"
      unitRef="USD">4668177</us-gaap:RealizedInvestmentGainsLosses>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001003"
      unitRef="USD">455241</FSI:RealizedInvestmentGainsLossesNet>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001004"
      unitRef="USD">1010128</FSI:RealizedInvestmentGainsLossesNet>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001006"
      unitRef="USD">8235394</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001008"
      unitRef="USD">10260870</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001010"
      unitRef="USD">1866645</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact001012"
      unitRef="USD">2073813</us-gaap:AccountsReceivableNet>
    <us-gaap:ShortTermDebtTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001014">&lt;p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zjQijbWABaM4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;10.
&lt;span id="xdx_827_zQKVhMujr2Ub"&gt;LINE OF CREDIT&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In June 2024, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#x201c;Stock Yards&#x201d;). The revolving line of credit is for an aggregate amount of
up to the lesser of (i) $&lt;span id="xdx_900_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zeRPBSFUoNia" title="Aggregate amount of revolving line of credit"&gt;4,500,000&lt;/span&gt;, or (ii) &lt;span id="xdx_90F_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__srt--RangeAxis__srt--MinimumMember_zUIS2fuWA8x2" title="Eligible percentage of domestic accounts receivable"&gt;50&lt;/span&gt;-&lt;span id="xdx_909_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__srt--RangeAxis__srt--MaximumMember_zTbqGweEsuo4" title="Eligible percentage of domestic accounts receivable"&gt;80&lt;/span&gt;% of eligible domestic accounts receivable plus &lt;span id="xdx_90D_ecustom--PercentageOfDomesticAccountsReceivableOfInventory_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z0JdlDTXuITe" title="Percentage of domestic accounts receivable of inventory"&gt;50&lt;/span&gt;% of inventory, capped at $&lt;span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zC8RfssfGbs2" title="Debt face amount"&gt;2,000,000&lt;/span&gt;.
Interest on the unpaid principal balance of this loan will be calculated using the greater of prime or &lt;span id="xdx_90B_ecustom--PercentageOfInterestOnUnpaidPrincipalBalance_pid_dp_uPure_c20240601__20240630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z05dYhMWq5B8" title="Interest rate on unpaid principal balance"&gt;4.0&lt;/span&gt;%. The interest rate at December
31, 2024 is &lt;span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zQEqv4M9SeL5" title="Interest rate"&gt;7.5&lt;/span&gt;% (2023 - &lt;span id="xdx_90F_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zO6diAHiBx4c" title="Interest rate"&gt;8.5&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#x2019;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of &lt;span id="xdx_90E_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember_zEHSP9VYds3d" title="Loan guaranteed rate"&gt;65&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_90F_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20241231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zHt5QRfp4W01" title="Line of credit"&gt;2,925,000&lt;/span&gt;.
The non-controlling interest is the guarantor of the remaining &lt;span id="xdx_90E_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20241231__us-gaap--StatementEquityComponentsAxis__custom--NoncontrollingInterestsMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zbh2TxmGTZCk" title="Loan guaranteed rate"&gt;35&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_902_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20241231__us-gaap--StatementEquityComponentsAxis__custom--NoncontrollingInterestsMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_z1S0UXchglmi" title="Line of credit"&gt;1,575,000&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
balance outstanding under this revolving line as of December 31, 2024 was $&lt;span id="xdx_90A_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20241231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zGlJMI81AtHc" title="Short term borrowings"&gt;2,052,159&lt;/span&gt; (2023 - $&lt;span id="xdx_909_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--ENPInvestmentsLLCMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zOYIk5KhOzC2" title="Short term borrowings"&gt;1,810,479&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;In August 2024, the Company renewed the line of credit with Stock Yards Bank and Trust (&#x201c;Stock Yards&#x201d;). The revolving
line of credit is for an aggregate amount of up to the lesser of (i) $&lt;span id="xdx_90A_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zH52vdVStRs1" title="Aggregate amount of revolving line of credit"&gt;2,000,000&lt;/span&gt;, or (ii) &lt;span id="xdx_90A_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zPp8pCQ9928a" title="Eligible percentage of domestic accounts receivable"&gt;80&lt;/span&gt;% of eligible domestic accounts receivable
and certain foreign accounts receivable plus &lt;span id="xdx_900_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z8UJsM5is9U7" title="Percentage of foreign accounts receivable of inventory"&gt;50&lt;/span&gt;% of inventory, capped at $&lt;span id="xdx_900_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zvJxijVd1eOl" title="Debt face amount"&gt;1,000,000&lt;/span&gt;. Interest on the unpaid principal balance of this
loan will be calculated using the greater of prime or &lt;span id="xdx_90D_ecustom--PercentageOfInterestOnUnpaidPrincipalBalance_pid_dp_uPure_c20240801__20240831__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zb3Ufswm4ETc" title="Interest rate on unpaid principal balance"&gt;4.0&lt;/span&gt;%. The interest rate at December 31, 2024 is &lt;span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zeTu07BxE4i5" title="Interest rate"&gt;8&lt;/span&gt;% (2023 - &lt;span id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zhwrHzRMxIu3" title="Interest rate"&gt;8.5&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
balance outstanding under this revolving line as of December 31, 2024 were $&lt;span id="xdx_900_eus-gaap--ShortTermBorrowings_iI_dxL_c20241231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zvRIwjTvXSm" title="Short term borrowings::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1058"&gt;nil&lt;/span&gt;&lt;/span&gt; (2023 - $&lt;span id="xdx_90B_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember_zKC0wV25p8Oj" title="Short term borrowings::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1060"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ShortTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001016"
      unitRef="USD">4500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:EligiblePercentageOfDomesticAccountsReceivable
      contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MinimumMember"
      decimals="INF"
      id="Fact001018"
      unitRef="Pure">0.50</FSI:EligiblePercentageOfDomesticAccountsReceivable>
    <FSI:EligiblePercentageOfDomesticAccountsReceivable
      contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember_srt_MaximumMember"
      decimals="INF"
      id="Fact001020"
      unitRef="Pure">0.80</FSI:EligiblePercentageOfDomesticAccountsReceivable>
    <FSI:PercentageOfDomesticAccountsReceivableOfInventory
      contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001022"
      unitRef="Pure">0.50</FSI:PercentageOfDomesticAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001024"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <FSI:PercentageOfInterestOnUnpaidPrincipalBalance
      contextRef="From2024-06-012024-06-30_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001026"
      unitRef="Pure">0.040</FSI:PercentageOfInterestOnUnpaidPrincipalBalance>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001028"
      unitRef="Pure">0.075</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001030"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember_custom_NanoChemSolutionIncMember"
      decimals="INF"
      id="Fact001032"
      unitRef="Pure">0.65</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact001034"
      unitRef="USD">2925000</us-gaap:LinesOfCreditCurrent>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2024-12-31_custom_NoncontrollingInterestsMember_custom_StockBankMember"
      decimals="INF"
      id="Fact001036"
      unitRef="Pure">0.35</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-12-31_custom_NoncontrollingInterestsMember_custom_StockBankMember"
      decimals="0"
      id="Fact001038"
      unitRef="USD">1575000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2024-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001040"
      unitRef="USD">2052159</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-12-31_custom_StockBankMember_custom_ENPInvestmentsLLCMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001042"
      unitRef="USD">1810479</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-08-31_custom_StockBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001044"
      unitRef="USD">2000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:EligiblePercentageOfDomesticAccountsReceivable
      contextRef="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001046"
      unitRef="Pure">0.80</FSI:EligiblePercentageOfDomesticAccountsReceivable>
    <FSI:PercentageOfForeignAccountsReceivableOfInventory
      contextRef="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001048"
      unitRef="Pure">0.50</FSI:PercentageOfForeignAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2024-08-31_custom_StockBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact001050"
      unitRef="USD">1000000</us-gaap:DebtInstrumentFaceAmount>
    <FSI:PercentageOfInterestOnUnpaidPrincipalBalance
      contextRef="From2024-08-012024-08-31_custom_StockBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001052"
      unitRef="Pure">0.040</FSI:PercentageOfInterestOnUnpaidPrincipalBalance>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_StockBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001054"
      unitRef="Pure">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_StockBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact001056"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebtTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001062">&lt;p id="xdx_807_eus-gaap--LongTermDebtTextBlock_zoD7VdY08xW1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;11.
&lt;span id="xdx_821_zsrsKeN4e1p1"&gt;LONG TERM DEBT&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zfjByeoYdace" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Debt,
all of which is with StockYards Bank and Trust, at December 31, 2024 and 2023 consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BF_zRk7qt0nuqUl"&gt;SCHEDULE
OF LONG TERM DEBT&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20241231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zfIviRVsGhVb" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zDcoHfZBbA9d" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFiB3Icgi1rk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;ENP Mendota, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90A_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zewc44s5heYg" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zxCMLxqxuof5" title="Debt instrument term"&gt;10&lt;/span&gt;&lt;/span&gt;-year mortgage, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z5MfI2wsNozk" title="Interest rate"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z2hzO0UNs3Vl" title="Interest rate"&gt;4.35&lt;/span&gt;&lt;/span&gt;% to &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--LongTermDebtTerm_iI_dtY_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zT2Gnda9WjWg" title="Long term debt, term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--LongTermDebtTerm_iI_dtY_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFni2ZpNR6cc" title="Long term debt, term"&gt;5&lt;/span&gt;&lt;/span&gt; year fixed index plus &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zeCYlolZ94Pi" title="Debt Instrument, interest rate, stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zdFCIyUgqGk1" title="Debt Instrument, interest rate, stated percentage"&gt;4.50&lt;/span&gt;&lt;/span&gt;% interest, monthly
    payments through to January 2030, collateralized by real property and all rents on said property&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;387,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;399,269&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_ztD390msEzgg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;NanoChem, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zk3s96IBLOCb" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zEOvCp9mnNZ" title="Debt instrument term"&gt;3&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zfEfghjPfm41" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFpPz4MDn983" title="Debt instrument interest rate stated percentage"&gt;4.90&lt;/span&gt;&lt;/span&gt;% interest, monthly principal and interest payments through June
    2025, collateralized by real property&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;345,036&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,004,748&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zhRN6eNxC5ff" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP Peru, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zzu7FGkCqKyk"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfAqfbvWYycc"&gt;10&lt;/span&gt;&lt;/span&gt;-year mortgage,
    &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zFDNjuIEnwIh" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zbW5zJekc3qi" title="Debt instrument interest rate stated percentage"&gt;4.35&lt;/span&gt;&lt;/span&gt;% interest, monthly principal and interest payments through January 2030, collateralized by real property (1&lt;sup&gt;st&lt;/sup&gt; mortgage)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,658,381&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,737,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--ENPPeruTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zZd6bmgbPV3g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;ENP Peru, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zr05K2zbfs5" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90D_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zGQt1EdpQpb1" title="Debt instrument term"&gt;10&lt;/span&gt;&lt;/span&gt;-year mortgage, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_903_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zUiTsITZZZle" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_z2WqVMmyF2Xf" title="Debt instrument interest rate stated percentage"&gt;5.4&lt;/span&gt;&lt;/span&gt;% interest, monthly principal payments plus interest through June 2032,
    collateralized by real property (2nd mortgage)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;243,957&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;250,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemOneMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zpyleOqmBBZc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;NanoChem, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_z2RRvonYm4dk" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zS7k70tYLWu8" title="Debt instrument term"&gt;3&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_znAVmQObq75j" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zsAeSlmS3hxd" title="Debt instrument interest rate stated percentage"&gt;6.5&lt;/span&gt;&lt;/span&gt;% interest, interest only payments through to July 2024, then monthly
    principal and interest payments through December 2025, collateralized by manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,355,285&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,475,188&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--MendotaLLCMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zmPWnbpIIEH1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;317 Mendota, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zxcAlqulTMP2" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zHjatRaYT085" title="Debt instrument term"&gt;5&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zpQmlW6CrbJ6" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zGGVpkVnGFP9" title="Debt instrument interest rate stated percentage"&gt;6.79&lt;/span&gt;&lt;/span&gt;% interest, interest only payments through June 2024, then monthly
    principal and interest payments through June 2028 with lump sum payment of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--RepaymentsOfLongTermDebt_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zSAtVcAj2CT4" title="Repayment of debt"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90C_eus-gaap--RepaymentsOfLongTermDebt_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zChbNdiezmzf" title="Repayment of debt"&gt;2,024,710&lt;/span&gt;&lt;/span&gt; due in June 2028, collateralized by real property&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,223,667&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zH3mfIwVGRv5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Nanochem, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zBggygSFeOxl" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zWYKY2NsRrl5" title="Debt instrument term"&gt;5&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zANUruu3KDvk" title="Debt interest rate"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zwhfaADsRs16" title="Debt interest rate"&gt;7.0&lt;/span&gt;&lt;/span&gt;% interest, monthly principal payments plus interest
    through August 2029, collateralized by manufacturing equipment&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,545,945&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1143"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebt_iI_zG6s80JZZmH7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,759,848&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_zGMlbiBs7bz9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,140,981&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,281,632&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zCNgsUqFdJpa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term debt non current&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,618,867&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,833,304&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_zsgnnrZskTc7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zjUaXccWyEnh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the scheduled annual future principal payments as of December 31, 2024&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zQjE9CmyoEk8"&gt;SCHEDULE
OF ANNUAL FUTURE PRINCIPAL PAYMENTS&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20241231_za2SN15wQIyg" style="border-bottom: Black 1pt solid; text-align: center"&gt;Principal Amount Due&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzRNL_zaQVCrLZLZ03" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 26%; text-align: right"&gt;2,140,981&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzRNL_zSe3KudouMRi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;467,149&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_iI_maLTDzRNL_z9FdV4VBMEV4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;498,454&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_iI_maLTDzRNL_ztacf2cxx1nf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,530,128&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_iI_maLTDzRNL_zdDLMFyHcPxe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,123,136&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--LongTermDebt_iTI_mtLTDzRNL_zorlUIKvpk77" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,759,848&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A3_zyITPGqPAyul" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001064">&lt;p id="xdx_893_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zfjByeoYdace" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Debt,
all of which is with StockYards Bank and Trust, at December 31, 2024 and 2023 consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BF_zRk7qt0nuqUl"&gt;SCHEDULE
OF LONG TERM DEBT&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20241231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zfIviRVsGhVb" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20231231__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankAndTrustMember_zDcoHfZBbA9d" style="border-bottom: Black 1pt solid; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFiB3Icgi1rk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;ENP Mendota, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90A_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zewc44s5heYg" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zxCMLxqxuof5" title="Debt instrument term"&gt;10&lt;/span&gt;&lt;/span&gt;-year mortgage, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z5MfI2wsNozk" title="Interest rate"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_909_eus-gaap--LongTermDebtPercentageBearingFixedInterestRate_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z2hzO0UNs3Vl" title="Interest rate"&gt;4.35&lt;/span&gt;&lt;/span&gt;% to &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--LongTermDebtTerm_iI_dtY_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zT2Gnda9WjWg" title="Long term debt, term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--LongTermDebtTerm_iI_dtY_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zFni2ZpNR6cc" title="Long term debt, term"&gt;5&lt;/span&gt;&lt;/span&gt; year fixed index plus &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zeCYlolZ94Pi" title="Debt Instrument, interest rate, stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zdFCIyUgqGk1" title="Debt Instrument, interest rate, stated percentage"&gt;4.50&lt;/span&gt;&lt;/span&gt;% interest, monthly
    payments through to January 2030, collateralized by real property and all rents on said property&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;387,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;399,269&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_ztD390msEzgg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;NanoChem, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90F_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zk3s96IBLOCb" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zEOvCp9mnNZ" title="Debt instrument term"&gt;3&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zfEfghjPfm41" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zFpPz4MDn983" title="Debt instrument interest rate stated percentage"&gt;4.90&lt;/span&gt;&lt;/span&gt;% interest, monthly principal and interest payments through June
    2025, collateralized by real property&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;345,036&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,004,748&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebt_iI_hus-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zhRN6eNxC5ff" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP Peru, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zzu7FGkCqKyk"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfAqfbvWYycc"&gt;10&lt;/span&gt;&lt;/span&gt;-year mortgage,
    &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zFDNjuIEnwIh" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zbW5zJekc3qi" title="Debt instrument interest rate stated percentage"&gt;4.35&lt;/span&gt;&lt;/span&gt;% interest, monthly principal and interest payments through January 2030, collateralized by real property (1&lt;sup&gt;st&lt;/sup&gt; mortgage)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,658,381&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,737,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--ENPPeruTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zZd6bmgbPV3g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;ENP Peru, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zr05K2zbfs5" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90D_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zGQt1EdpQpb1" title="Debt instrument term"&gt;10&lt;/span&gt;&lt;/span&gt;-year mortgage, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_903_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zUiTsITZZZle" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_z2WqVMmyF2Xf" title="Debt instrument interest rate stated percentage"&gt;5.4&lt;/span&gt;&lt;/span&gt;% interest, monthly principal payments plus interest through June 2032,
    collateralized by real property (2nd mortgage)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;243,957&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;250,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemOneMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zpyleOqmBBZc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;NanoChem, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_z2RRvonYm4dk" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zS7k70tYLWu8" title="Debt instrument term"&gt;3&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_znAVmQObq75j" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemOneMember_zsAeSlmS3hxd" title="Debt instrument interest rate stated percentage"&gt;6.5&lt;/span&gt;&lt;/span&gt;% interest, interest only payments through to July 2024, then monthly
    principal and interest payments through December 2025, collateralized by manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,355,285&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,475,188&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--MendotaLLCMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zmPWnbpIIEH1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;317 Mendota, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_907_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zxcAlqulTMP2" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zHjatRaYT085" title="Debt instrument term"&gt;5&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90B_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zpQmlW6CrbJ6" title="Debt instrument interest rate stated percentage"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zGGVpkVnGFP9" title="Debt instrument interest rate stated percentage"&gt;6.79&lt;/span&gt;&lt;/span&gt;% interest, interest only payments through June 2024, then monthly
    principal and interest payments through June 2028 with lump sum payment of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_906_eus-gaap--RepaymentsOfLongTermDebt_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zSAtVcAj2CT4" title="Repayment of debt"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90C_eus-gaap--RepaymentsOfLongTermDebt_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaLLCMember_zChbNdiezmzf" title="Repayment of debt"&gt;2,024,710&lt;/span&gt;&lt;/span&gt; due in June 2028, collateralized by real property&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,223,667&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebt_iI_hdei--LegalEntityAxis__custom--NanoChemTwoMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zH3mfIwVGRv5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Nanochem, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20240101__20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zBggygSFeOxl" title="Debt instrument term"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_90E_eus-gaap--DebtInstrumentTerm_dtY_c20230101__20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zWYKY2NsRrl5" title="Debt instrument term"&gt;5&lt;/span&gt;&lt;/span&gt;-year note payable, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20241231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zANUruu3KDvk" title="Debt interest rate"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIFNDSEVEVUxFIE9GIExPTkcgVEVSTSBERUJUIChEZXRhaWxzKSAoUGFyZW50aGV0aWNhbCkA" id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemTwoMember_zwhfaADsRs16" title="Debt interest rate"&gt;7.0&lt;/span&gt;&lt;/span&gt;% interest, monthly principal payments plus interest
    through August 2029, collateralized by manufacturing equipment&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,545,945&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1143"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebt_iI_zG6s80JZZmH7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,759,848&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_zGMlbiBs7bz9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,140,981&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,281,632&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zCNgsUqFdJpa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term debt non current&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,618,867&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,833,304&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      id="Fact001069">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      id="Fact001071">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LongTermDebtPercentageBearingFixedInterestRate
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      decimals="INF"
      id="Fact001073"
      unitRef="Pure">0.0435</us-gaap:LongTermDebtPercentageBearingFixedInterestRate>
    <us-gaap:LongTermDebtPercentageBearingFixedInterestRate
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      decimals="INF"
      id="Fact001075"
      unitRef="Pure">0.0435</us-gaap:LongTermDebtPercentageBearingFixedInterestRate>
    <us-gaap:LongTermDebtTerm
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      id="Fact001077">P5Y</us-gaap:LongTermDebtTerm>
    <us-gaap:LongTermDebtTerm
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      id="Fact001079">P5Y</us-gaap:LongTermDebtTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      decimals="INF"
      id="Fact001081"
      unitRef="Pure">0.0450</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPMendotaMember"
      decimals="INF"
      id="Fact001083"
      unitRef="Pure">0.0450</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact001066"
      unitRef="USD">387577</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact001067"
      unitRef="USD">399269</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemMember"
      id="Fact001088">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemMember"
      id="Fact001090">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="INF"
      id="Fact001092"
      unitRef="Pure">0.0490</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="INF"
      id="Fact001094"
      unitRef="Pure">0.0490</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001085"
      unitRef="USD">345036</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001086"
      unitRef="USD">1004748</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember"
      id="Fact001098">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember"
      id="Fact001099">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruOneMember"
      decimals="INF"
      id="Fact001101"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruOneMember"
      decimals="INF"
      id="Fact001103"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001096"
      unitRef="USD">2658381</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_TermLoanMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001097"
      unitRef="USD">2737232</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember"
      id="Fact001108">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember"
      id="Fact001110">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember"
      decimals="INF"
      id="Fact001112"
      unitRef="Pure">0.054</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_ENPPeruInvestmentsMember"
      decimals="INF"
      id="Fact001114"
      unitRef="Pure">0.054</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001105"
      unitRef="USD">243957</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_ENPPeruTwoMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001106"
      unitRef="USD">250207</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemOneMember"
      id="Fact001119">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemOneMember"
      id="Fact001121">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemOneMember"
      decimals="INF"
      id="Fact001123"
      unitRef="Pure">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemOneMember"
      decimals="INF"
      id="Fact001125"
      unitRef="Pure">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001116"
      unitRef="USD">1355285</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemOneMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001117"
      unitRef="USD">1475188</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_MendotaLLCMember"
      id="Fact001130">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MendotaLLCMember"
      id="Fact001132">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001134"
      unitRef="Pure">0.0679</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001136"
      unitRef="Pure">0.0679</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_MendotaLLCMember"
      decimals="0"
      id="Fact001138"
      unitRef="USD">2024710</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_MendotaLLCMember"
      decimals="0"
      id="Fact001140"
      unitRef="USD">2024710</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001127"
      unitRef="USD">2223667</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember_custom_MendotaLLCMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001128"
      unitRef="USD">2248292</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2024-01-012024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember"
      id="Fact001145">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2023-01-012023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember"
      id="Fact001147">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-12-31_custom_TermLoanMember_custom_NanoChemTwoMember"
      decimals="INF"
      id="Fact001149"
      unitRef="Pure">0.070</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemTwoMember"
      decimals="INF"
      id="Fact001151"
      unitRef="Pure">0.070</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember_custom_NanoChemTwoMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001142"
      unitRef="USD">1545945</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember"
      decimals="0"
      id="Fact001153"
      unitRef="USD">8759848</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember"
      decimals="0"
      id="Fact001154"
      unitRef="USD">8114936</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember"
      decimals="0"
      id="Fact001156"
      unitRef="USD">2140981</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember"
      decimals="0"
      id="Fact001157"
      unitRef="USD">1281632</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2024-12-31_custom_StockYardsBankAndTrustMember"
      decimals="0"
      id="Fact001159"
      unitRef="USD">6618867</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2023-12-31_custom_StockYardsBankAndTrustMember"
      decimals="0"
      id="Fact001160"
      unitRef="USD">6833304</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001162">&lt;p id="xdx_896_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zjUaXccWyEnh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the scheduled annual future principal payments as of December 31, 2024&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zQjE9CmyoEk8"&gt;SCHEDULE
OF ANNUAL FUTURE PRINCIPAL PAYMENTS&lt;/span&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 60%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20241231_za2SN15wQIyg" style="border-bottom: Black 1pt solid; text-align: center"&gt;Principal Amount Due&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzRNL_zaQVCrLZLZ03" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 26%; text-align: right"&gt;2,140,981&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzRNL_zSe3KudouMRi" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;467,149&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_iI_maLTDzRNL_z9FdV4VBMEV4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;498,454&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_iI_maLTDzRNL_ztacf2cxx1nf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,530,128&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_iI_maLTDzRNL_zdDLMFyHcPxe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,123,136&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--LongTermDebt_iTI_mtLTDzRNL_zorlUIKvpk77" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,759,848&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001164"
      unitRef="USD">2140981</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001166"
      unitRef="USD">467149</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001168"
      unitRef="USD">498454</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001170"
      unitRef="USD">2530128</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001172"
      unitRef="USD">3123136</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001174"
      unitRef="USD">8759848</us-gaap:LongTermDebt>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001176">&lt;p id="xdx_800_eus-gaap--IncomeTaxDisclosureTextBlock_zWGYNc4i06G3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;12.
&lt;span id="xdx_82A_z3fpCMyQ8cK6"&gt;INCOME TAXES&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zOadQaAQrFyj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
provision for income tax expense (benefit) is comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B5_z8miQvXdah08" style="display: none"&gt;SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20240101__20241231_zaEpDMyfYhrg" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20230101__20231231_zRataxIy18pk" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zG79aiy81Aa5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Current tax, federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;763,471&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;753,683&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_zPU20h1KBKp2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;345,380&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;340,952&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_zqwgv1y1sTq3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Current tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;217,552&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;151,236&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zAJK7apapEPj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,326,403&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,245,871&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zhWQodZR2d4j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Income tax benefit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(621,959&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,127,689&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_zl0tGZl2g5i7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, total expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;704,444&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;118,182&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_z4mnKKxBdvPe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;101,053&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(172,763&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zsuw1v3aaHIf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;45,714&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(78,154&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zjaNTHKHHmV8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred income tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1204"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1205"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_zVj6eRjwXtl5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred income tax, total expense (benefit)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;146,767&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(250,917&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_z6zmz9Pb58J7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;851,211&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A5_z4yV9tHgHkWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zlvBCbWzr1Nc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#x2019;s effective
tax rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B9_zkALHIo9wCE" style="display: none"&gt;SCHEDULE OF RECONCILIATION OF INCOME TAXES&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20240101__20241231_zwDH1IeKBZ8a" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230101__20231231_zZ83YNVNt2a7" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;

&lt;tr id="xdx_406_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_zqz8AWCr5Ys7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
    before income tax - United States&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,472,950&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,249,901&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_zzdyWpxSQbyc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
    before income tax - Canada&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;479,850&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;373,349&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_ecustom--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_zxt3jEJUdXz3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
    before income tax&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,952,800&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,623,250&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_ze1huvSMDtk4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;US
    federal statutory tax rate&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21.00&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21.00&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zTyimVX0nkG2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Expected
    income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,040,088&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;760,883&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_z217L0opJJY3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;State
    income tax expense, net of federal tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;371,708&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;344,208&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-deductible
    items&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;64,857&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;362,554&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Change in
    estimates and other&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(194,142&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1,585,427&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign tax
    rate differential&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(35,952&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(92,379&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Change
    in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(395,348&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;77,426&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    income taxes expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;851,211&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(132,735&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="margin: 0"&gt;&lt;/p&gt;


&lt;p id="xdx_8A9_zn5ApjxavsYf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Included
in current income tax expense for the year ended December 31, 2024 is a recovery of $&lt;span id="xdx_902_ecustom--IncomeTaxRecovery_c20240101__20241231_zN0S0iTaS4Va" title="Current income tax expense"&gt;621,959&lt;/span&gt; (2023 - $&lt;span id="xdx_903_ecustom--IncomeTaxRecovery_c20230101__20231231_zg40mk1Tmsw3" title="Current income tax expense"&gt;1,127,689&lt;/span&gt;) for a revision of estimated
current taxes payable for previous years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zqNMKAI3Uwc5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2024 and 2023 are comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zD272esnnRc1" style="display: none"&gt;SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zYKn9ll80bIl" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zgg2fvHlyOt3" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Canada&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzi6P_zPVFNjIYHU9l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left; padding-left: 10pt"&gt;Non-capital loss carryforwards&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,059,468&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;855,176&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--DeferredTaxAssetsShareIssuanceCosts_iI_maDTAGzi6P_z5KaaKqIWKu4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Share issuance costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,024&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1258"&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_maDTAGzi6P_zmeC22FTW8Pj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;27,995&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;30,916&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzi6P_maDTANz7Lk_zDyCgKnhCIIf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred tax assets gross&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,088,487&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;886,092&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz7Lk_z8GiDQ6plE1c" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,088,487&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(886,092&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz7Lk_zyUux6ZkcB28" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Net deferred tax asset&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1269"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1270"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p style="margin: 0"&gt;&#160;&lt;/p&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49C_20241231_zsQzWC6ne2T9" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_495_20231231_zB0WYN7d4jlj" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;

&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;United States&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzybq_zh25brcMXN52" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
    operating loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;190,024&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1273"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iI_maDTAGzybq_zukF2HuXEYmc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property,
    equipment and leaseholds&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;502,646&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;36,093&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzybq_maDTANz3Hm_zMvok54rRvDh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
    tax asset&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;692,670&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;36,093&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz3Hm_zBSIWxXd1eke" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Valuation
    allowance&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(192,953&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1282"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz3Hm_maDTALNzuqF_zhgHnrhs8GQk" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt"&gt;Net deferred tax asset&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;499,717&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;36,093&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_iNI_di_maDITLzQ2S_z3pr9qAi9ECa" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
    assets&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(516,414&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(11,346&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesInvestments_iNI_di_maDITLzQ2S_zwacTiSlQhj7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Investments&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(105,322&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1291"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredIncomeTaxLiabilities_iNTI_di_mtDITLzQ2S_msDTALNzuqF_zVvf1xeGf5R4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
    tax liability&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(621,736&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(11,346&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--DeferredTaxAssetsLiabilities_iTI_mtDTALNzuqF_zFGJk4sVKCh9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
    deferred tax asset (liability)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(122,019&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;24,747&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 12pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;



&lt;p style="margin: 0"&gt;&lt;/p&gt;


&lt;p id="xdx_8A5_zBHwo0DCFvaj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has non-capital loss carryforwards of approximately $&lt;span id="xdx_90D_eus-gaap--OperatingLossCarryforwards_iI_pp0p0_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zVm9nup0fZMb"&gt;4,606,383&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;which may be carried forward to apply against
future year income tax for Canadian income tax purposes, subject to the final determination by taxation authorities, expiring in the
following years:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zk3EUo4K4156" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zT5sfl200BI9" style="display: none"&gt;SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Loss&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: left"&gt;2030&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_zrCA498GOphb" style="width: 26%; text-align: right" title="Total"&gt;249,807&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2031&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zDGLr1W8zpU7" style="text-align: right" title="Total"&gt;865,746&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2032&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zeS8FvE7Jt89" style="text-align: right" title="Total"&gt;566,109&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2037&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zthjaN6151cl" style="text-align: right" title="Total"&gt;1,555,780&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2039&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zmGwLavsSKHk" style="text-align: right" title="Total"&gt;134,471&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2040&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zoMXC8ajf3sl" style="text-align: right" title="Total"&gt;396,186&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2041&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyOneYearMember_z4BWiB12Loyd" style="text-align: right" title="Total"&gt;301,063&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2042&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyTwoYearMember_zgNY5GDhgAXf" style="text-align: right" title="Total"&gt;315,157&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;2043&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyThreeYearMember_zue9S8Mvucqe" style="border-bottom: Black 1pt solid; text-align: right" title="Total"&gt;222,064&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231_zpBwksLvD596" style="border-bottom: Black 1pt solid; text-align: right" title="Total"&gt;4,606,383&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8AE_zg0YasGfPONl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
at December 31, 2024, the Company has federal and state income tax net operating loss carryforwards of $&lt;span id="xdx_908_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__custom--FederalAndStatedIncomeTaxMember_zkgroqBek4yb" title="Operating loss carryforward"&gt;623,028&lt;/span&gt; available for US tax
purposes. &lt;span id="xdx_903_eus-gaap--OperatingLossCarryforwardsLimitationsOnUse_c20240101__20241231_zxVDZrf15yT2" title="Limited utilization"&gt;The NOLs carry forward indefinitely, with utilization limited to offsetting up to 80% of taxable income in any given year.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Accounting
for Uncertainty for Income Tax&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes income tax liabilities from uncertain tax positions where there is uncertainty as to a tax position being sustainable
using the more-likely-than-not threshold. During the years ended December 31, 2024 and 2023, the total liability for uncertain tax positions
increased by $&lt;span id="xdx_90D_eus-gaap--UnrecognizedTaxBenefitsPeriodIncreaseDecrease_c20240101__20241231_z9TuASebgML3" title="Unrecognized tax benefits, increased"&gt;419,214&lt;/span&gt; and $&lt;span id="xdx_90B_eus-gaap--UnrecognizedTaxBenefitsPeriodIncreaseDecrease_c20230101__20231231_zggKRdCxyMU4" title="Unrecognized tax benefits, increased"&gt;464,185&lt;/span&gt; respectively, primarily due to increased liabilities based on existing tax positions. As of December
31, 2024 and 2023, the Company has recognized liabilities for uncertain tax positions of $&lt;span id="xdx_901_eus-gaap--UnrecognizedTaxBenefits_iI_c20241231_zsMiOh1pv8ui" title="Unrecognized tax benefits"&gt;2,754,007&lt;/span&gt; and $&lt;span id="xdx_909_eus-gaap--UnrecognizedTaxBenefits_iI_c20231231_zGG2ZX8ChkWh" title="Unrecognized tax benefits"&gt;2,334,793&lt;/span&gt;, respectively, which
is included in income taxes payable on the consolidated balance sheets. All recorded uncertain tax positions impact the Company&#x2019;s
effective tax rate. The timing of any future settlements&#160;or&#160;payments&#160;related to uncertain tax positions is
uncertain.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Additionally,
the Company has accrued interest and penalties related to these unrecognized tax benefits and other items, which are recorded as a component
of income tax expense (benefit). As of December 31, 2024 and 2023, the Company recorded an additional $&lt;span id="xdx_902_eus-gaap--IncomeTaxExaminationPenaltiesAndInterestAccrued_iI_c20241231_zWPhd3uqMBt1" title="Accrued interest and penalties"&gt;333,086&lt;/span&gt; and $&lt;span id="xdx_901_eus-gaap--IncomeTaxExaminationPenaltiesAndInterestAccrued_iI_c20231231_z0epIp4WzcD6" title="Accrued interest and penalties"&gt;193,551&lt;/span&gt; in accrued
interest and penalties. At December 31, 2024 and 2023, the Company had accrued interest and penalties related to unrecognized tax benefits
of $&lt;span id="xdx_903_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_iI_c20241231_zlon5GpPRsJa" title="Unrecognized accrued interest and penalties"&gt;1,237,637&lt;/span&gt; and $&lt;span id="xdx_906_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_iI_c20231231_zGHs9VdsVZA2" title="Unrecognized accrued interest and penalties"&gt;904,549&lt;/span&gt; respectively, which is included in income taxes payable on the consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001178">&lt;p id="xdx_895_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zOadQaAQrFyj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
provision for income tax expense (benefit) is comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B5_z8miQvXdah08" style="display: none"&gt;SCHEDULE OF PROVISION FOR INCOME TAX EXPENSE (BENEFIT)&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20240101__20241231_zaEpDMyfYhrg" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20230101__20231231_zRataxIy18pk" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzvlG_zG79aiy81Aa5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Current tax, federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;763,471&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;753,683&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_maCITEBzvlG_zPU20h1KBKp2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;345,380&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;340,952&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--CurrentForeignTaxExpenseBenefit_maCITEBzvlG_zqwgv1y1sTq3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Current tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;217,552&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;151,236&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_ecustom--CurrentTax_iT_pp0p0_mtCITEBzvlG_maCITEBzPIr_zAJK7apapEPj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,326,403&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,245,871&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--IncomeTaxRecovery_iN_pp0p0_di_msCITEBzPIr_zhWQodZR2d4j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Income tax benefit&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(621,959&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,127,689&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzPIr_maITEBz5Oq_zl0tGZl2g5i7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Current tax, total expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;704,444&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;118,182&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzP63_z4mnKKxBdvPe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;101,053&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(172,763&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_maDITEBzP63_zsuw1v3aaHIf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred income tax, state&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;45,714&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(78,154&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredForeignIncomeTaxExpenseBenefit_maDITEBzP63_zjaNTHKHHmV8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred income tax, foreign&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1204"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1205"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredIncomeTaxExpenseBenefit_iT_pp0p0_mtDITEBzP63_maITEBz5Oq_zVj6eRjwXtl5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred income tax, total expense (benefit)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;146,767&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(250,917&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxExpenseBenefit_iT_pp0p0_mtITEBz5Oq_z6zmz9Pb58J7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;851,211&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;(132,735&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001180"
      unitRef="USD">763471</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001181"
      unitRef="USD">753683</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001183"
      unitRef="USD">345380</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001184"
      unitRef="USD">340952</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001186"
      unitRef="USD">217552</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001187"
      unitRef="USD">151236</us-gaap:CurrentForeignTaxExpenseBenefit>
    <FSI:CurrentTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001189"
      unitRef="USD">1326403</FSI:CurrentTax>
    <FSI:CurrentTax
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001190"
      unitRef="USD">1245871</FSI:CurrentTax>
    <FSI:IncomeTaxRecovery
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001192"
      unitRef="USD">621959</FSI:IncomeTaxRecovery>
    <FSI:IncomeTaxRecovery
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001193"
      unitRef="USD">1127689</FSI:IncomeTaxRecovery>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001195"
      unitRef="USD">704444</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001196"
      unitRef="USD">118182</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001198"
      unitRef="USD">101053</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001199"
      unitRef="USD">-172763</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001201"
      unitRef="USD">45714</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001202"
      unitRef="USD">-78154</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001207"
      unitRef="USD">146767</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001208"
      unitRef="USD">-250917</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001210"
      unitRef="USD">851211</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001211"
      unitRef="USD">-132735</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001213">&lt;p id="xdx_897_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zlvBCbWzr1Nc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the income tax expense at the U.S. Federal statutory rate to income tax expense at the Company&#x2019;s effective
tax rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B9_zkALHIo9wCE" style="display: none"&gt;SCHEDULE OF RECONCILIATION OF INCOME TAXES&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20240101__20241231_zwDH1IeKBZ8a" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20230101__20231231_zZ83YNVNt2a7" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;

&lt;tr id="xdx_406_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_zqz8AWCr5Ys7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
    before income tax - United States&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,472,950&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,249,901&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_zzdyWpxSQbyc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
    before income tax - Canada&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;479,850&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;373,349&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_ecustom--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest_zxt3jEJUdXz3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
    before income tax&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,952,800&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,623,250&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_ze1huvSMDtk4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;US
    federal statutory tax rate&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21.00&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21.00&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_ecustom--ExpectedIncomeTaxRecovery_zTyimVX0nkG2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Expected
    income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,040,088&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;760,883&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_z217L0opJJY3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;State
    income tax expense, net of federal tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;371,708&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;344,208&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-deductible
    items&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;64,857&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;362,554&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationOtherAdjustments_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Change in
    estimates and other&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(194,142&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1,585,427&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--IncomeTaxReconciliationForeignIncomeTaxRateDifferential_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign tax
    rate differential&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(35,952&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(92,379&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Change
    in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(395,348&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;77,426&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_i_pp0p0" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total
    income taxes expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;851,211&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(132,735&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="margin: 0"&gt;&lt;/p&gt;


</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001215"
      unitRef="USD">4472950</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001216"
      unitRef="USD">3249901</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001218"
      unitRef="USD">479850</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001219"
      unitRef="USD">373349</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <FSI:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001221"
      unitRef="USD">4952800</FSI:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest>
    <FSI:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001222"
      unitRef="USD">3623250</FSI:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemNoncontrollingInterest>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001224"
      unitRef="Pure">0.2100</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001225"
      unitRef="Pure">0.2100</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <FSI:ExpectedIncomeTaxRecovery
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001227"
      unitRef="USD">1040088</FSI:ExpectedIncomeTaxRecovery>
    <FSI:ExpectedIncomeTaxRecovery
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001228"
      unitRef="USD">760883</FSI:ExpectedIncomeTaxRecovery>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001230"
      unitRef="USD">371708</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001231"
      unitRef="USD">344208</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001233"
      unitRef="USD">64857</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001234"
      unitRef="USD">362554</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001236"
      unitRef="USD">-194142</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001237"
      unitRef="USD">-1585427</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001239"
      unitRef="USD">-35952</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001240"
      unitRef="USD">-92379</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001242"
      unitRef="USD">-395348</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001243"
      unitRef="USD">77426</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001245"
      unitRef="USD">851211</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001246"
      unitRef="USD">-132735</us-gaap:IncomeTaxExpenseBenefit>
    <FSI:IncomeTaxRecovery
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001248"
      unitRef="USD">621959</FSI:IncomeTaxRecovery>
    <FSI:IncomeTaxRecovery
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001250"
      unitRef="USD">1127689</FSI:IncomeTaxRecovery>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001252">&lt;p id="xdx_895_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zqNMKAI3Uwc5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
taxes reflect the tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting
purposes. Deferred tax assets (liabilities) at December 31, 2024 and 2023 are comprised of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zD272esnnRc1" style="display: none"&gt;SCHEDULE OF DEFERRED TAX ASSETS (LIABILITIES)&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zYKn9ll80bIl" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zgg2fvHlyOt3" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Canada&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzi6P_zPVFNjIYHU9l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left; padding-left: 10pt"&gt;Non-capital loss carryforwards&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,059,468&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;855,176&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_ecustom--DeferredTaxAssetsShareIssuanceCosts_iI_maDTAGzi6P_z5KaaKqIWKu4" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Share issuance costs&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,024&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1258"&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipment_iI_maDTAGzi6P_zmeC22FTW8Pj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Property, equipment and leaseholds&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;27,995&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;30,916&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzi6P_maDTANz7Lk_zDyCgKnhCIIf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred tax assets gross&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,088,487&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;886,092&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz7Lk_z8GiDQ6plE1c" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,088,487&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(886,092&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz7Lk_zyUux6ZkcB28" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Net deferred tax asset&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1269"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1270"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p style="margin: 0"&gt;&#160;&lt;/p&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_49C_20241231_zsQzWC6ne2T9" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_495_20231231_zB0WYN7d4jlj" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;

&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;United States&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--DeferredTaxAssetsOperatingLossCarryforwards_iI_maDTAGzybq_zh25brcMXN52" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 60%; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
    operating loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;190,024&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 16%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1273"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_ecustom--DeferredTaxAssetsPropertyPlantsAndEquipmentOne_iI_maDTAGzybq_zukF2HuXEYmc" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property,
    equipment and leaseholds&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;502,646&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;36,093&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzybq_maDTANz3Hm_zMvok54rRvDh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
    tax asset&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;692,670&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;36,093&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxAssetsValuationAllowance_iNI_di_msDTANz3Hm_zBSIWxXd1eke" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Valuation
    allowance&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(192,953&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1282"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANz3Hm_maDTALNzuqF_zhgHnrhs8GQk" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt"&gt;Net deferred tax asset&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;499,717&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;36,093&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-left: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssets_iNI_di_maDITLzQ2S_z3pr9qAi9ECa" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
    assets&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(516,414&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(11,346&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--DeferredTaxLiabilitiesInvestments_iNI_di_maDITLzQ2S_zwacTiSlQhj7" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Investments&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(105,322&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1291"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredIncomeTaxLiabilities_iNTI_di_mtDITLzQ2S_msDTALNzuqF_zVvf1xeGf5R4" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
    tax liability&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(621,736&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(11,346&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-left: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--DeferredTaxAssetsLiabilities_iTI_mtDTALNzuqF_zFGJk4sVKCh9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
    deferred tax asset (liability)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(122,019&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;24,747&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 12pt; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;



&lt;p style="margin: 0"&gt;&lt;/p&gt;


</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001254"
      unitRef="USD">1059468</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001255"
      unitRef="USD">855176</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <FSI:DeferredTaxAssetsShareIssuanceCosts
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001257"
      unitRef="USD">1024</FSI:DeferredTaxAssetsShareIssuanceCosts>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipment
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001260"
      unitRef="USD">27995</FSI:DeferredTaxAssetsPropertyPlantsAndEquipment>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001261"
      unitRef="USD">30916</FSI:DeferredTaxAssetsPropertyPlantsAndEquipment>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001263"
      unitRef="USD">1088487</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001264"
      unitRef="USD">886092</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001266"
      unitRef="USD">1088487</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001267"
      unitRef="USD">886092</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001272"
      unitRef="USD">190024</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001275"
      unitRef="USD">502646</FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne>
    <FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001276"
      unitRef="USD">36093</FSI:DeferredTaxAssetsPropertyPlantsAndEquipmentOne>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001278"
      unitRef="USD">692670</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001279"
      unitRef="USD">36093</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001281"
      unitRef="USD">192953</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001284"
      unitRef="USD">499717</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001285"
      unitRef="USD">36093</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001287"
      unitRef="USD">516414</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001288"
      unitRef="USD">11346</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesInvestments
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001290"
      unitRef="USD">105322</us-gaap:DeferredTaxLiabilitiesInvestments>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001293"
      unitRef="USD">621736</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001294"
      unitRef="USD">11346</us-gaap:DeferredIncomeTaxLiabilities>
    <FSI:DeferredTaxAssetsLiabilities
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001296"
      unitRef="USD">-122019</FSI:DeferredTaxAssetsLiabilities>
    <FSI:DeferredTaxAssetsLiabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001297"
      unitRef="USD">24747</FSI:DeferredTaxAssetsLiabilities>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001298"
      unitRef="USD">4606383</us-gaap:OperatingLossCarryforwards>
    <FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001300">&lt;p id="xdx_89B_ecustom--ScheduleOfNonOperatingLossCarryforwardsTableTextBlock_zk3EUo4K4156" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zT5sfl200BI9" style="display: none"&gt;SCHEDULE OF NON OPERATING LOSS CARRYFORWARDS&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Loss&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: left"&gt;2030&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTaxYearMember_zrCA498GOphb" style="width: 26%; text-align: right" title="Total"&gt;249,807&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2031&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyOneYearMember_zDGLr1W8zpU7" style="text-align: right" title="Total"&gt;865,746&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2032&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyTwoYearMember_zeS8FvE7Jt89" style="text-align: right" title="Total"&gt;566,109&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2037&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtySevenYearMember_zthjaN6151cl" style="text-align: right" title="Total"&gt;1,555,780&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2039&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandThirtyNineYearMember_zmGwLavsSKHk" style="text-align: right" title="Total"&gt;134,471&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2040&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyYearMember_zoMXC8ajf3sl" style="text-align: right" title="Total"&gt;396,186&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2041&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyOneYearMember_z4BWiB12Loyd" style="text-align: right" title="Total"&gt;301,063&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2042&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyTwoYearMember_zgNY5GDhgAXf" style="text-align: right" title="Total"&gt;315,157&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;2043&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231__us-gaap--TaxPeriodAxis__custom--TwoThousandFourtyThreeYearMember_zue9S8Mvucqe" style="border-bottom: Black 1pt solid; text-align: right" title="Total"&gt;222,064&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--OperatingLossCarryforwards_iI_c20241231_zpBwksLvD596" style="border-bottom: Black 1pt solid; text-align: right" title="Total"&gt;4,606,383&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</FSI:ScheduleOfNonOperatingLossCarryforwardsTableTextBlock>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandThirtyTaxYearMember"
      decimals="0"
      id="Fact001302"
      unitRef="USD">249807</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandThirtyOneYearMember"
      decimals="0"
      id="Fact001304"
      unitRef="USD">865746</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandThirtyTwoYearMember"
      decimals="0"
      id="Fact001306"
      unitRef="USD">566109</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandThirtySevenYearMember"
      decimals="0"
      id="Fact001308"
      unitRef="USD">1555780</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandThirtyNineYearMember"
      decimals="0"
      id="Fact001310"
      unitRef="USD">134471</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandFourtyYearMember"
      decimals="0"
      id="Fact001312"
      unitRef="USD">396186</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandFourtyOneYearMember"
      decimals="0"
      id="Fact001314"
      unitRef="USD">301063</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandFourtyTwoYearMember"
      decimals="0"
      id="Fact001316"
      unitRef="USD">315157</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_TwoThousandFourtyThreeYearMember"
      decimals="0"
      id="Fact001318"
      unitRef="USD">222064</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001320"
      unitRef="USD">4606383</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="AsOf2024-12-31_custom_FederalAndStatedIncomeTaxMember"
      decimals="0"
      id="Fact001322"
      unitRef="USD">623028</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwardsLimitationsOnUse contextRef="From2024-01-01to2024-12-31" id="Fact001324">The NOLs carry forward indefinitely, with utilization limited to offsetting up to 80% of taxable income in any given year.</us-gaap:OperatingLossCarryforwardsLimitationsOnUse>
    <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001326"
      unitRef="USD">419214</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
    <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001328"
      unitRef="USD">464185</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001330"
      unitRef="USD">2754007</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001332"
      unitRef="USD">2334793</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001334"
      unitRef="USD">333086</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001336"
      unitRef="USD">193551</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001338"
      unitRef="USD">1237637</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001340"
      unitRef="USD">904549</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001342">&lt;p id="xdx_808_eus-gaap--EarningsPerShareTextBlock_zGm9pIunid4a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;13.
&lt;span id="xdx_82F_z3y8F3nnuRfa"&gt;INCOME PER SHARE&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zZcTm6dL7Yq1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company presents both basic and diluted income per share on the face of its consolidated statements of income and comprehensive income.
Basic and diluted income per share are calculated as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zfuErYI7p5s9" style="display: none"&gt;SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240101__20241231_zH13FE94Zm9e" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20230101__20231231_zIOamJWTHffa" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net income attributable to controlling interest&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,038,529&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,775,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common shares outstanding:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_z2Rh2LsmSHD1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,454,957&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,434,886&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_ztli2YKt7eZa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,680,668&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,489,467&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share attributable to controlling interest:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt; padding-left: 10pt"&gt;Basic and diluted&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20240101__20241231_zVxBU8lrznf" title="Net income per common share attributable to controlling interest: Basic"&gt;&lt;span id="xdx_90A_eus-gaap--EarningsPerShareDiluted_c20240101__20241231_zdvFNPX3RPb4" title="Net income per common share attributable to controlling interest: Diluted"&gt;0.24&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_901_eus-gaap--EarningsPerShareBasic_c20230101__20231231_zUHyXZJb6Cta" title="Net income per common share attributable to controlling interest: Basic"&gt;&lt;span id="xdx_90B_eus-gaap--EarningsPerShareDiluted_c20230101__20231231_zdntjnh8HBMe" title="Net income per common share attributable to controlling interest: Diluted"&gt;0.22&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AD_zqt192hLwBP3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
stock options whose terms and conditions are described in Note 14, &#x201c;Stock Options&#x201d; could potentially dilute basic EPS in
the future, but were not included in the computation of diluted EPS because to do so would have been anti-dilutive. Those anti-dilutive
options are as follows.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_ztsS6MRigX2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B2_zRKmwMuDA9l6" style="display: none"&gt;SCHEDULE OF ANTI-DILUTIVE OPTIONS&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20241231_zAcSQ6CefYek" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20230101__20231231_zrvzsI9Fszn5" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Anti-dilutive options&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;745,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;740,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_zWpabXGiEHn8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;There
were &lt;span id="xdx_903_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z8XQ3eK2lfRd" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_900_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zLDw3WgPUPhi" title="Preferred stock, shares outstanding"&gt;&lt;span id="xdx_90D_eus-gaap--PreferredStockSharesIssued_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zhxoQRRIugqb" title="Preferred stock, shares issued"&gt;&lt;span id="xdx_90F_eus-gaap--PreferredStockSharesOutstanding_iI_pid_do_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z24y2cLqHTN" title="Preferred stock, shares outstanding"&gt;no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; preferred shares issued and outstanding during the years ended December 31, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001344">&lt;p id="xdx_896_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zZcTm6dL7Yq1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company presents both basic and diluted income per share on the face of its consolidated statements of income and comprehensive income.
Basic and diluted income per share are calculated as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.3pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zfuErYI7p5s9" style="display: none"&gt;SCHEDULE OF BASIC AND DILUTED LOSS PER SHARE&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20240101__20241231_zH13FE94Zm9e" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20230101__20231231_zIOamJWTHffa" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NetIncomeLoss_i_pp0p0" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net income attributable to controlling interest&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,038,529&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,775,864&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average common shares outstanding:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_pid_z2Rh2LsmSHD1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,454,957&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,434,886&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pid_ztli2YKt7eZa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,680,668&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,489,467&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income per common share attributable to controlling interest:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt; padding-left: 10pt"&gt;Basic and diluted&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--EarningsPerShareBasic_c20240101__20241231_zVxBU8lrznf" title="Net income per common share attributable to controlling interest: Basic"&gt;&lt;span id="xdx_90A_eus-gaap--EarningsPerShareDiluted_c20240101__20241231_zdvFNPX3RPb4" title="Net income per common share attributable to controlling interest: Diluted"&gt;0.24&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_901_eus-gaap--EarningsPerShareBasic_c20230101__20231231_zUHyXZJb6Cta" title="Net income per common share attributable to controlling interest: Basic"&gt;&lt;span id="xdx_90B_eus-gaap--EarningsPerShareDiluted_c20230101__20231231_zdntjnh8HBMe" title="Net income per common share attributable to controlling interest: Diluted"&gt;0.22&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001346"
      unitRef="USD">3038529</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001347"
      unitRef="USD">2775864</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001349"
      unitRef="Shares">12454957</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001350"
      unitRef="Shares">12434886</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001352"
      unitRef="Shares">12680668</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001353"
      unitRef="Shares">12489467</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001355"
      unitRef="USDPShares">0.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001357"
      unitRef="USDPShares">0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001359"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001361"
      unitRef="USDPShares">0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001363">&lt;p id="xdx_890_eus-gaap--ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_ztsS6MRigX2c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B2_zRKmwMuDA9l6" style="display: none"&gt;SCHEDULE OF ANTI-DILUTIVE OPTIONS&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 80%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20241231_zAcSQ6CefYek" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20230101__20231231_zrvzsI9Fszn5" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_i_pdd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Anti-dilutive options&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;745,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;740,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001365"
      unitRef="Shares">745000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001366"
      unitRef="Shares">740000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001368"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001370"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001372"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="INF"
      id="Fact001374"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001376">&lt;p id="xdx_809_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zdtcjKUmNpRk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;14.
&lt;span id="xdx_82D_zdtGB3UEDPl4"&gt;STOCK OPTIONS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has a stock option plan (&#x201c;Plan&#x201d;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#x2019;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that &lt;span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20240101__20241231_zgVg4WgBgpia" title="Options granted percentage"&gt;100&lt;/span&gt;% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next &lt;span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20240101__20241231_z3mnuH8W3Mr6" title="Vested term"&gt;5&lt;/span&gt; years. The maximum term of options granted is &lt;span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20240101__20241231_zT2Obniqz79f" title="Options maximum granted term"&gt;5&lt;/span&gt; years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zCBn68sReWB4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the Company&#x2019;s stock option activities for the years ended December 31, 2024 and 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;span id="xdx_8B7_zcxwqJ1yR25a" style="display: none"&gt;SCHEDULE OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Number of shares&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Exercise price &lt;br/&gt; per share&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Weighted average &lt;br/&gt; exercise price&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zP7uxiN9mCW7" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance"&gt;1,686,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9BQUlZK6VM1" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt;
                                            &#x2013;&lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_z1ecJV1rwIT2" title="Exercise price per share, Beginning Balance"&gt; 4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zc0LjSWaewM9" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;3.26&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_ztRhOeBCHNl3" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(564,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zt2BuIssL51f" title="Exercise price per share, Cancelled or expired"&gt;3.46&lt;/span&gt;
                                       &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zFGBFVrPtTi3" title="Exercise price per share, Cancelled or expired"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zQqkE3R0Y46l" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zk0K93DWQo12" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zHgSGbA5z4pe" title="Exercise price per share, Exercised"&gt;1.70&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_z2cBZkNT7EUg" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20241231_ziwwxEhckITk" style="text-align: right" title="Number of shares, Beginning Balance"&gt;1,114,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zrZdKYoPX13d" title="Exercise price per share, Beginning Balance"&gt;1.75&lt;/span&gt;
                                       &#x2013; &lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_ztxuceU9uf7e" title="Exercise price per share, Beginning Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20241231_zHDedNoz3UI3" title="Weighted average exercise price, Beginning Balance"&gt;3.13&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20241231_zw4xHcpzStq6" style="text-align: right" title="Number of shares, Granted"&gt;1,081,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfNYHcKlP794" title="Exercise price per share, Granted"&gt;2.00
&lt;/span&gt;                                       &#x2013; &lt;span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_znqnSYzZa4W2" title="Exercise price per share, Granted"&gt;4.05&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20241231_z0J0LrTgOb9l" style="text-align: right" title="Weighted average exercise price, Granted"&gt;2.12&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20241231_zPvPIfEZLm22" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(275,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zQ3Gya0JIFJ6" title="Exercise price per share, Cancelled or expired"&gt;1.75&lt;/span&gt;
                                       &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z43dscSw3lTa" title="Exercise price per share, Cancelled or expired"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20241231_zorPuhj0RUv8" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.54&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20241231_zQ2bVLGK0Vl6" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised"&gt;(80,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z38dCbHHsdMi" title="Exercise price per share, Exercised"&gt;1.75&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zr5d0cnrP1Qa" title="Exercise price per share, Exercised"&gt;2.44&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20241231_z4jwUNnjThF" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;2.31&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20241231_zjOF5qQnP4V4" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Ending Balance"&gt;1,840,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zFCRa9SFJD5i" title="Exercise price per share, Ending Balance"&gt;2.00&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zibPhPl3Jyf9" title="Exercise price per share, Ending Balance"&gt;4.05&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20241231_z3O6Er2eDOS6" title="Weighted average exercise price, Ending Balance"&gt;2.68&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Exercisable, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20241231_znVrUihVo2tk" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;939,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfmfJDxmbKuj" title="Exercise price per share Exercisable, Ending Balance"&gt;2.00&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zydmsRRuazu8" title="Exercise price per share Exercisable, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20241231_zV7aOpSKnlA1" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance"&gt;2.71&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_z74y2rAyeWZd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_ecustom--ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_zNgzfHBNogG6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the years ended December 31, 2024 and 2023, the Company recognized stock based compensation associated with stock options as
follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zpBdIW8XeWW1"&gt;SCHEDULE
OF RECOGNIZED STOCK BASED COMPENSATION&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20240101__20241231_zzQx6JyXKmri" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_z6LspYiWBZFf" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Line item on the statement of income and comprehensive income:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--WagesAndAdministrativeSalariesMember_zmzDFgPlti0j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 64%; text-align: justify"&gt;Wages and administrative salaries&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;623,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;331,609&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--ConsultingMember_zDTmhKt6Hu9j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Consulting&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;50,130&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;63,471&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--ShareBasedCompensation_z3597WWSTQbb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Stock
    based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;673,130&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;395,080&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_zZOtSC8EBopg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2024, the Company granted &lt;span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20240101__20241231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_z19CsV529Rs8" title="Number of stock options to employees, granted"&gt;102,000&lt;/span&gt; (2023 &#x2013; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zUFofKCryEY7" title="Number of stock options to employees, granted::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1469"&gt;nil&lt;/span&gt;&lt;/span&gt;) stock options to consultants and &lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20240101__20241231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zkyNcFmUPHma" title="Number of stock options to employees"&gt;979,000&lt;/span&gt; (2023 &#x2013;
&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_dxL_c20230101__20231231__srt--TitleOfIndividualAxis__custom--EmployeesMember_zZexjFtQKclc" title="Number of stock options to employees::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1473"&gt;nil&lt;/span&gt;&lt;/span&gt;) stock options to employees. The fair value of options granted during 2024 was calculated using the following range of assumptions:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zx8bKhJcjWzf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zyjqvPalQXV3" style="display: none"&gt;SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;Expected life &#x2013; years&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20241231_zC1fOZYv7x3e" title="Expected life - years"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zKoSOZA5Wkcc" title="Interest rate"&gt;1.76&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zDgseRfr4G47" title="Interest rate"&gt;4.11&lt;/span&gt;&lt;/span&gt;%&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z50nZiFVWlVe" title="Volatility"&gt;66.01&lt;/span&gt;
                                            &#x2013;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_za2brpHc0eS6" title="Volatility"&gt; 71.59&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Fair value of options granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;$&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zN9QEMVEFYU3" title="Weighted average fair value of options granted"&gt;1.46&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z5y3e49WpjGk" title="Weighted average fair value of options granted"&gt;2.02&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_ziEves12tp25" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 20pt; text-align: justify; text-indent: 80pt"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 20pt; text-align: justify; text-indent: 80pt"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 20pt; text-align: justify; text-indent: 80pt"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2024, the weighted-average remaining contractual life of outstanding and exercisable options is &lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20241231_zjOMzik7A0kf" title="Weighted-average remaining contractual life, outstanding"&gt;3.4&lt;/span&gt; years and &lt;span id="xdx_90E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20240101__20241231_zitCFCrU0g6e" title="Weighted-average remaining contractual life, exercisable"&gt;3.1&lt;/span&gt; years,
respectively. As of December 31, 2024, there was approximately $&lt;span id="xdx_903_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20241231_zQjKtZiEGKm8" title="Stock vested compensation non vested"&gt;603,850&lt;/span&gt; of compensation expense related to non-vested awards that is
expected to be recognized over a weighted average period of &lt;span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20240101__20241231_zfCiMCTZVhx6" title="Weighted average period expected to be recognized"&gt;1.9&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
aggregate intrinsic value of options outstanding and exercisable at December 31, 2024 is $&lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zNLqXMFcBspa" title="Aggregate intrinsic value of vested options, outstanding"&gt;1,709,850&lt;/span&gt; (2023 - $&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zRp2X3LRYYHh" title="Aggregate intrinsic value of vested options, outstanding::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1501"&gt;nil&lt;/span&gt;&lt;/span&gt;) and $&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zfKOAIAGCpyh" title="Aggregate intrinsic value of vested options, exercisable"&gt;843,790&lt;/span&gt; (2023
- $&lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zydEOwsb0rY2" title="Aggregate intrinsic value of vested options, exercisable::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1505"&gt;nil&lt;/span&gt;&lt;/span&gt;), respectively. During the year ended December 31, 2024, the intrinsic value of stock options exercised was $&lt;span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20240101__20241231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zSROMCtdqi4f" title="Aggregate intrinsic value of vested options exercised"&gt;88,730&lt;/span&gt; (2023 - $&lt;span id="xdx_90D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20231231__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z35JyCzU0NSa" title="Aggregate intrinsic value of vested options exercised"&gt;11,520&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001378"
      unitRef="Pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="From2024-01-01to2024-12-31" id="Fact001380">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="From2024-01-01to2024-12-31" id="Fact001382">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001384">&lt;p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zCBn68sReWB4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the Company&#x2019;s stock option activities for the years ended December 31, 2024 and 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;span id="xdx_8B7_zcxwqJ1yR25a" style="display: none"&gt;SCHEDULE OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Number of shares&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Exercise price &lt;br/&gt; per share&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;Weighted average &lt;br/&gt; exercise price&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zP7uxiN9mCW7" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance"&gt;1,686,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9BQUlZK6VM1" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt;
                                            &#x2013;&lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_z1ecJV1rwIT2" title="Exercise price per share, Beginning Balance"&gt; 4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zc0LjSWaewM9" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;3.26&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_ztRhOeBCHNl3" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(564,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zt2BuIssL51f" title="Exercise price per share, Cancelled or expired"&gt;3.46&lt;/span&gt;
                                       &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zFGBFVrPtTi3" title="Exercise price per share, Cancelled or expired"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zQqkE3R0Y46l" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zk0K93DWQo12" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_zHgSGbA5z4pe" title="Exercise price per share, Exercised"&gt;1.70&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_z2cBZkNT7EUg" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20241231_ziwwxEhckITk" style="text-align: right" title="Number of shares, Beginning Balance"&gt;1,114,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zrZdKYoPX13d" title="Exercise price per share, Beginning Balance"&gt;1.75&lt;/span&gt;
                                       &#x2013; &lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_ztxuceU9uf7e" title="Exercise price per share, Beginning Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20241231_zHDedNoz3UI3" title="Weighted average exercise price, Beginning Balance"&gt;3.13&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20241231_zw4xHcpzStq6" style="text-align: right" title="Number of shares, Granted"&gt;1,081,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfNYHcKlP794" title="Exercise price per share, Granted"&gt;2.00
&lt;/span&gt;                                       &#x2013; &lt;span id="xdx_90C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_znqnSYzZa4W2" title="Exercise price per share, Granted"&gt;4.05&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20241231_z0J0LrTgOb9l" style="text-align: right" title="Weighted average exercise price, Granted"&gt;2.12&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20241231_zPvPIfEZLm22" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(275,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zQ3Gya0JIFJ6" title="Exercise price per share, Cancelled or expired"&gt;1.75&lt;/span&gt;
                                       &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z43dscSw3lTa" title="Exercise price per share, Cancelled or expired"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20241231_zorPuhj0RUv8" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.54&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20241231_zQ2bVLGK0Vl6" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Exercised"&gt;(80,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z38dCbHHsdMi" title="Exercise price per share, Exercised"&gt;1.75&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zr5d0cnrP1Qa" title="Exercise price per share, Exercised"&gt;2.44&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20241231_z4jwUNnjThF" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;2.31&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20241231_zjOF5qQnP4V4" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares, Ending Balance"&gt;1,840,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zFCRa9SFJD5i" title="Exercise price per share, Ending Balance"&gt;2.00&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zibPhPl3Jyf9" title="Exercise price per share, Ending Balance"&gt;4.05&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20241231_z3O6Er2eDOS6" title="Weighted average exercise price, Ending Balance"&gt;2.68&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Exercisable, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20241231_znVrUihVo2tk" style="border-bottom: Black 1pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;939,000&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zfmfJDxmbKuj" title="Exercise price per share Exercisable, Ending Balance"&gt;2.00&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_905_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zydmsRRuazu8" title="Exercise price per share Exercisable, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20241231_zV7aOpSKnlA1" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance"&gt;2.71&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001386"
      unitRef="Shares">1686000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001388"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001390"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001392"
      unitRef="USDPShares">3.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001394"
      unitRef="Shares">564000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2023-01-012023-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001396"
      unitRef="USDPShares">3.46</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2023-01-012023-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001398"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001400"
      unitRef="USDPShares">3.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001402"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001404"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001406"
      unitRef="USDPShares">1.70</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001408"
      unitRef="Shares">1114000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001410"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001412"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001414"
      unitRef="USDPShares">3.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001416"
      unitRef="Shares">1081000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice
      contextRef="From2024-01-012024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001418"
      unitRef="USDPShares">2.00</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice
      contextRef="From2024-01-012024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001420"
      unitRef="USDPShares">4.05</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001422"
      unitRef="USDPShares">2.12</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001424"
      unitRef="Shares">275000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2024-01-012024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001426"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2024-01-012024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001428"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001430"
      unitRef="USDPShares">2.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001432"
      unitRef="Shares">80000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2024-01-012024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001434"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2024-01-012024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001436"
      unitRef="USDPShares">2.44</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001438"
      unitRef="USDPShares">2.31</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact001440"
      unitRef="Shares">1840000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001442"
      unitRef="USDPShares">2.00</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001444"
      unitRef="USDPShares">4.05</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact001446"
      unitRef="USDPShares">2.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact001448"
      unitRef="Shares">939000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001450"
      unitRef="USDPShares">2.00</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001452"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact001454"
      unitRef="USDPShares">2.71</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <FSI:ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001456">&lt;p id="xdx_89E_ecustom--ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock_zNgzfHBNogG6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the years ended December 31, 2024 and 2023, the Company recognized stock based compensation associated with stock options as
follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zpBdIW8XeWW1"&gt;SCHEDULE
OF RECOGNIZED STOCK BASED COMPENSATION&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20240101__20241231_zzQx6JyXKmri" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_z6LspYiWBZFf" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Line item on the statement of income and comprehensive income:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--WagesAndAdministrativeSalariesMember_zmzDFgPlti0j" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 64%; text-align: justify"&gt;Wages and administrative salaries&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;623,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;331,609&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--ShareBasedCompensation_hus-gaap--IncomeStatementLocationAxis__custom--ConsultingMember_zDTmhKt6Hu9j" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify; padding-bottom: 1pt"&gt;Consulting&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;50,130&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;63,471&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--ShareBasedCompensation_z3597WWSTQbb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Stock
    based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;673,130&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;395,080&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfRecognizedShareBasedCompensationStockOptionsTableTextBlock>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-012024-12-31_custom_WagesAndAdministrativeSalariesMember"
      decimals="0"
      id="Fact001458"
      unitRef="USD">623000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-012023-12-31_custom_WagesAndAdministrativeSalariesMember"
      decimals="0"
      id="Fact001459"
      unitRef="USD">331609</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-012024-12-31_custom_ConsultingMember"
      decimals="0"
      id="Fact001461"
      unitRef="USD">50130</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-012023-12-31_custom_ConsultingMember"
      decimals="0"
      id="Fact001462"
      unitRef="USD">63471</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001464"
      unitRef="USD">673130</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001465"
      unitRef="USD">395080</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2024-01-012024-12-31_custom_ConsultantsMember"
      decimals="INF"
      id="Fact001467"
      unitRef="Shares">102000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2024-01-012024-12-31_custom_EmployeesMember"
      decimals="INF"
      id="Fact001471"
      unitRef="Shares">979000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001475">&lt;p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zx8bKhJcjWzf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zyjqvPalQXV3" style="display: none"&gt;SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;Expected life &#x2013; years&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20241231_zC1fOZYv7x3e" title="Expected life - years"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zKoSOZA5Wkcc" title="Interest rate"&gt;1.76&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_zDgseRfr4G47" title="Interest rate"&gt;4.11&lt;/span&gt;&lt;/span&gt;%&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_z50nZiFVWlVe" title="Volatility"&gt;66.01&lt;/span&gt;
                                            &#x2013;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_za2brpHc0eS6" title="Volatility"&gt; 71.59&lt;/span&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Fair value of options granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;$&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MinimumMember_zN9QEMVEFYU3" title="Weighted average fair value of options granted"&gt;1.46&lt;/span&gt;
                                            &#x2013; &lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20241231__srt--RangeAxis__srt--MaximumMember_z5y3e49WpjGk" title="Weighted average fair value of options granted"&gt;2.02&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="From2024-01-01to2024-12-31" id="Fact001477">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2024-01-012024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001479"
      unitRef="Pure">0.0176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2024-01-012024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001481"
      unitRef="Pure">0.0411</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2024-01-012024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001483"
      unitRef="Pure">0.6601</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2024-01-012024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001485"
      unitRef="Pure">0.7159</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001487"
      unitRef="USDPShares">1.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001489"
      unitRef="USDPShares">2.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2024-01-01to2024-12-31" id="Fact001491">P3Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="From2024-01-01to2024-12-31" id="Fact001493">P3Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001495"
      unitRef="USD">603850</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2024-01-01to2024-12-31" id="Fact001497">P1Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001499"
      unitRef="USD">1709850</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001503"
      unitRef="USD">843790</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="From2024-01-012024-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001507"
      unitRef="USD">88730</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="From2023-01-012023-12-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001509"
      unitRef="USD">11520</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001511">&lt;p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_ze0MTzL0okJd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;15.
&lt;span id="xdx_82B_zOV2n0gLIEt2"&gt;CAPITAL STOCK&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2024, &lt;span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20241231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zAjh5nS85Q4h" title="Stock options exercised"&gt;47,000&lt;/span&gt; shares were issued upon the exercise of employee stock options (2023 &#x2013; &lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20231231__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zbkExIa9P7f4" title="Stock options exercised"&gt;8,000&lt;/span&gt;) and &lt;span id="xdx_903_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20241231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zwSYeQMfHzPi" title="Stock options exercised"&gt;33,000&lt;/span&gt;
shares were issued upon the exercise of consultant stock options (2023 &#x2013; &lt;span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_dxL_c20230101__20231231__us-gaap--AwardTypeAxis__custom--ConsultantStockOptionMember_zGKMVPasxdw3" title="Stock options exercised::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1519"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2024, the Company announced a special dividend of $&lt;span id="xdx_901_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20241231_zg82kPWy7rOi" title="Dividends per share"&gt;0.10&lt;/span&gt; per share that was paid on May 16, 2024 to shareholders
for a total of $&lt;span id="xdx_908_eus-gaap--Dividends_pid_c20240101__20241231_zGKwgYTZ2J0c" title="Dividends"&gt;1,255,053&lt;/span&gt; (2023 - $&lt;span id="xdx_905_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20231231_z2iR4KDWbYYh" title="Dividends per share"&gt;0.05&lt;/span&gt;/share for a total of $&lt;span id="xdx_906_eus-gaap--Dividends_pid_c20230101__20231231_zSV02Qymqlgc" title="Dividends"&gt;626,777&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2023, the Company issued &lt;span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20231231_zGCBwP3LYMS" title="Consultant for services, shares"&gt;1,272&lt;/span&gt; shares to a consultant for services rendered, resulting in an expense of $&lt;span id="xdx_903_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20231231_zDihgnFzVQae" title="Consultant for services, value"&gt;4,070&lt;/span&gt;
on the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-012024-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001513"
      unitRef="Shares">47000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001515"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-012024-12-31_custom_ConsultantStockOptionMember"
      decimals="INF"
      id="Fact001517"
      unitRef="Shares">33000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="Fact001521"
      unitRef="USDPShares">0.10</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:Dividends
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001523"
      unitRef="USD">1255053</us-gaap:Dividends>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001525"
      unitRef="USDPShares">0.05</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:Dividends
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001527"
      unitRef="USD">626777</us-gaap:Dividends>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001529"
      unitRef="Shares">1272</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001531"
      unitRef="USD">4070</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:MinorityInterestDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001533">&lt;p id="xdx_805_eus-gaap--MinorityInterestDisclosureTextBlock_zE6hPkLdk207" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;16.
&lt;span id="xdx_828_zpSWUiQauhW7"&gt;NON-CONTROLLING INTERESTS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP Investments is a limited liability corporation
(&#x201c;LLC&#x201d;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a &lt;span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zRUindcUvdV1" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#x201c;NCI&#x201d;) owns the
remaining &lt;span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z3ABQd3M11sk" title="Related party owner ship percentage"&gt;35&lt;/span&gt;% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#x2019;s are consolidated into
these financial statements. The NCI&#x2019;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#x2019;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment. See Note 17.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $&lt;span id="xdx_906_eus-gaap--PaymentsToMinorityShareholders_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMXXEJr342Ia" title="Partnership distribution to non-controlling interest"&gt;4,020,679&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_ecustom--ScheduleOfDistributionsTableTextBlock_zW8AQ2VemZV3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;span id="xdx_8BE_zgfRv1AnDza" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zbehpKCsLuQ3" style="width: 16%; text-align: right" title="Non-controlling interests, Beginning balance"&gt;2,605,034&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zAWR6LxFVUaj" style="text-align: right" title="Distribution"&gt;(719,439&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zwgWCWHLZiCa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,015,604&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zGhZ3vCmPWJ8" style="text-align: right" title="Non-controlling interests, Beginning balance"&gt;2,901,199&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zR9ErOnHUbtc" style="text-align: right" title="Distribution"&gt;(794,722&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_ztIm5oRoTlLb" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,164,037&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh2z69JPcRq1" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance"&gt;3,270,514&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_zNfHF2ZPhSR4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2024, the Company had sales of $&lt;span id="xdx_901_eus-gaap--Revenues_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z05O3apTWMi" title="Sales"&gt;8,050,462&lt;/span&gt; (2023 - $&lt;span id="xdx_909_eus-gaap--Revenues_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_z0j33MKVubb8" title="Sales"&gt;6,811,083&lt;/span&gt;) to the NCI, of which $&lt;span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zDvjh1dhKFK" title="Accounts receivable"&gt;5,377,088&lt;/span&gt; is included
within Accounts Receivable as of December 31, 2024 (2023 &#x2013; $&lt;span id="xdx_901_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zFDoodkGNIF9" title="Accounts receivable"&gt;4,225,028&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;b&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/b&gt;317 Mendota is a LLC that owns real estate that the Company occupies part of while renting out the excess. The Company owns
a &lt;span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember_zc8QAk4eiYya" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% interest in 317 Mendota and an unrelated party (&#x201c;317 NCI&#x201d;) owns the remaining &lt;span id="xdx_901_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20241231__srt--OwnershipAxis__custom--MendotaLLCMember_zbXzrvZjjPT9" title="Related party owner ship percentage"&gt;20&lt;/span&gt;% interest in 317 Mendota. For financial
reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The 317 NCI&#x2019;s
ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements. The non-controlling
interest represents 317 NCI&#x2019;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated to the TPA segment as
that is the intended use of the building.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_z7uko9EpX0P9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_z2ONKTcO2qT7" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVHkHGhGXHd" style="text-align: right" title="Non-controlling interests, beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1571"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Acquisition&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcrPXouzWZ79" style="width: 16%; text-align: right" title="Non-controlling interests, Acquisition"&gt;200,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of loss&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zOZCt3oJNq3k" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss"&gt;(35,483&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z10GCwtAHhvj" style="text-align: right" title="Non-controlling interests, beginning balance"&gt;164,517&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of loss&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zEnacAcrKOr9" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss"&gt;(100,977&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zsv2bpViMjDa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance"&gt;63,540&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A8_z7NIeDoAALg5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:MinorityInterestDisclosureTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact001535"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2024-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact001537"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001539"
      unitRef="USD">4020679</us-gaap:PaymentsToMinorityShareholders>
    <FSI:ScheduleOfDistributionsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001541">&lt;p id="xdx_89B_ecustom--ScheduleOfDistributionsTableTextBlock_zW8AQ2VemZV3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;span id="xdx_8BE_zgfRv1AnDza" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zbehpKCsLuQ3" style="width: 16%; text-align: right" title="Non-controlling interests, Beginning balance"&gt;2,605,034&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zAWR6LxFVUaj" style="text-align: right" title="Distribution"&gt;(719,439&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zwgWCWHLZiCa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,015,604&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zGhZ3vCmPWJ8" style="text-align: right" title="Non-controlling interests, Beginning balance"&gt;2,901,199&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zR9ErOnHUbtc" style="text-align: right" title="Distribution"&gt;(794,722&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_ztIm5oRoTlLb" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,164,037&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zh2z69JPcRq1" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance"&gt;3,270,514&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfDistributionsTableTextBlock>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001543"
      unitRef="USD">2605034</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001545"
      unitRef="USD">719439</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001547"
      unitRef="USD">1015604</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001549"
      unitRef="USD">2901199</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001551"
      unitRef="USD">794722</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001553"
      unitRef="USD">1164037</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001555"
      unitRef="USD">3270514</us-gaap:MinorityInterest>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001557"
      unitRef="USD">8050462</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001559"
      unitRef="USD">6811083</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001561"
      unitRef="USD">5377088</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001563"
      unitRef="USD">4225028</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001565"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2024-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001567"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001569">&lt;p id="xdx_895_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_z7uko9EpX0P9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_z2ONKTcO2qT7" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zrVHkHGhGXHd" style="text-align: right" title="Non-controlling interests, beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1571"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Acquisition&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zcrPXouzWZ79" style="width: 16%; text-align: right" title="Non-controlling interests, Acquisition"&gt;200,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of loss&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zOZCt3oJNq3k" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss"&gt;(35,483&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--MinorityInterest_iS_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z10GCwtAHhvj" style="text-align: right" title="Non-controlling interests, beginning balance"&gt;164,517&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Non-controlling interest share of loss&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zEnacAcrKOr9" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interest share of loss"&gt;(100,977&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Balance, December 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--MinorityInterest_iE_c20240101__20241231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zsv2bpViMjDa" style="border-bottom: Black 1pt solid; text-align: right" title="Non-controlling interests, Ending balance"&gt;63,540&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001573"
      unitRef="USD">200000</us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001575"
      unitRef="USD">35483</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001577"
      unitRef="USD">164517</us-gaap:MinorityInterest>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="From2024-01-012024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001579"
      unitRef="USD">100977</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001581"
      unitRef="USD">63540</us-gaap:MinorityInterest>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001583">&lt;p id="xdx_801_eus-gaap--SegmentReportingDisclosureTextBlock_zR1rWCyqjtOb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;17.
&lt;span id="xdx_820_zcpDWi9DbpV5"&gt;SEGMENT&lt;span style="font-variant: small-caps"&gt;S AND &lt;/span&gt; SIGNIFICANT &lt;span style="font-variant: small-caps"&gt;CONCENTRATIONS&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company operates in &lt;span id="xdx_90A_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20240101__20241231_zAMpQW29CPah" title="Number of operating segments"&gt;two&lt;/span&gt; segments:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(a)
&lt;/b&gt;Energy and water conservation products (as shown under the column heading &#x201c;EWCP&#x201d; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;Biodegradable polymers, also known as TPA&#x2019;s (as shown under the column heading &#x201c;BCPA&#x201d; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#x2019;s TPA
division.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company also manufactures food grade products that are made and sold by the TPA division.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies. The economic factors that impact the
nature, amount, timing, and uncertainty of revenue and cash flows vary among the Company&#x2019;s operating segments and the geographical
regions in which they operate. This operating segment structure is used by the Chief Operating Decision Maker (&#x201c;CODM&#x201d;), who
has been determined to be the Chief Executive Officer, to make key operating decisions and assess performance of the Company. The CODM
evaluates segment operating performance, and makes resource allocation and performance evaluation decisions, based on gross profit and
net operating income.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Year
ended December 31, 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zmy4jqovwS8f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zszJQyAViofa" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240101__20241231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zPx3sv107y2j" style="border-bottom: Black 1pt solid; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20240101__20241231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGUWGxUWlYg" style="border-bottom: Black 1pt solid; text-align: center"&gt;BPCA&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20240101__20241231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zm0bOSYp2ga" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
    &lt;sup id="xdx_F5A_zu1sYbQTque"&gt;(1)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20240101__20241231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJtHMf6mxvt8" style="border-bottom: Black 1pt solid; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zN8krYuJTFoj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;759,549&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;37,475,311&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1591"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;38,234,860&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--CostOfGoodsAndServicesSold_zNoh9eaSjFjb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Cost of sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;350,345&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,644,616&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1596"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,994,961&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--GrossProfit_zX2tyeeh2Crk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;409,204&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,830,695&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1601"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,239,899&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--SalariesWagesAndOfficersCompensation_z5wiISVx1A22" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Wages and administrative salaries&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;90,043&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,653,182&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1606"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,743,225&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OtherGeneralExpense_zIPquFwNN2B" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office &amp;amp; Miscellaneous&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;45,327&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;759,410&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;570&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;805,307&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--SegmentReportingOtherItemAmount_z7OH9jjs0n33" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other segment items &lt;sup id="xdx_F46_zaLbFgnXlaQe"&gt;(2)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;57,056&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,699,196&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;419,709&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,175,961&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OperatingIncomeLoss_zB6HK3EhPQ81" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net operating income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;216,778&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,718,907&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(420,279&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,515,406&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InterestExpenseOperating_zHY2fv8jApFd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;309&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;609,956&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1626"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;610,265&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zIpsk9ChtWr3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Depreciation and amortization (included in COGS)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,298&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,942,178&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1631"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,957,476&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z8jP9HYAi26" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capital expenditures&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1634"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,964,736&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1636"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,964,736&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--Assets_iE_zCAjf0hgiqRf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Assets &lt;sup id="xdx_F43_zP7K1iJhSp9f"&gt;(3)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,588,731&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,415,104&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;964,744&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;59,968,579&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Year
ended December 31, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zzDuCnEh0n27" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;EWCP&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z05E34IwMeAg" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;BPCA&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zxRwroPJsks9" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
    &lt;sup id="xdx_F5F_zQwKUFmAg8w3"&gt;(1)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zx4JjkW49IJf" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Consolidated&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zWxDumrJJQbd" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 36%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;572,845&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;37,751,961&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1646"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;38,324,806&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--CostOfGoodsAndServicesSold_zwTqRvuIL6w3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;359,429&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;27,522,292&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1651"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;27,881,721&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--GrossProfit_zRrx541S8Bcb" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;213,416&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;10,229,669&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1656"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;10,443,085&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--SalariesWagesAndOfficersCompensation_z3lbG84udN3f" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Wages and
    administrative salaries&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;92,302&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,772,359&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1661"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,864,661&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OtherGeneralExpense_zOFLqNxD4xl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office &amp;amp;
    Miscellaneous&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;46,968&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;465,535&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;393&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;512,896&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--SegmentReportingOtherItemAmount_z0kplWjdm6lh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other segment
    items &lt;sup id="xdx_F47_zbKPvL7nem2i"&gt;(2)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;79,809&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,109,582&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;376,581&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,565,972&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OperatingIncomeLoss_zlsVM7BPFag8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net operating
    income&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(5,663&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,885,680&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(376,975&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,503,042&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--InterestExpenseOperating_zY5zMQ54l9I9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interest
    expense&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;387&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;498,279&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1681"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;498,666&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zHZmXc2T9cX2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Depreciation
    (included in COGS)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;17,411&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,668,908&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1686"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,686,319&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zNLgzZZj2Qfl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1689"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,990,675&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1691"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,990,675&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--Assets_iE_zsPB8qktVkq8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Assets &lt;sup id="xdx_F4E_zZOu9ypj6VAa"&gt;(3)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,889,596&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;50,627,932&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;953,527&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;55,471,055&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;sup id="xdx_F08_zyDNgBbwaffk"&gt;(1)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F13_z9Ay3peHObbi" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other is not considered
an operating segment and includes expenses and income not identifiable to an operating segment and is not included in operating segment
results&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;sup id="xdx_F08_zhTCQ3asN9u"&gt;(2)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F15_zBz1qwXe3gFd" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other segment items
for each reportable segment includes insurance,  consulting, research, and professional fees.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;sup id="xdx_F05_zHBcpUKmu8G5"&gt;(3)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F16_zo5NHbXJFt4c" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Segment
                                                                                                                                                                                                     assets include cash, term deposits, accounts receivable, inventory, prepaid expenses, property, equipment and leaseholds, right of
                                                                                                                                                                                                     use assets, security deposits, intangible assets, and goodwill.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p id="xdx_8A8_zfBhJPocqWkd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zTgqT9iFNHib" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales
by territory are shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zezhQPSplhuk" style="display: none"&gt;SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240101__20241231_zXtZjuchs647" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20231231_zmTQ469BQLp2" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zF15a979qKe2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;400,693&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;755,844&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zlvJnjYvKtGk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;United States and abroad&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,834,167&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,568,962&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zzLforfA036l" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;38,234,860&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;38,324,806&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A9_zomS99TocgH3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zRwap87N8RKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_z5VPPeL5fmf8" style="display: none"&gt;SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20241231_zVt06JbFngZ3" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20231231_zeTPiDme4hta" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zdB01Z07JaLe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;116,496&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;142,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zTmDMoVTlsG7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;United States&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,683,963&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,958,778&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_z3z9mOV1GWMj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,800,459&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18,101,355&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_zZUefrLk4cP6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
customers accounted for $&lt;span id="xdx_90C_eus-gaap--AccountsReceivableNet_iI_c20241231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zshwHaXyMP43" title="Accounts receivable, after allowance for credit loss"&gt;20,779,311&lt;/span&gt; (&lt;span id="xdx_907_eus-gaap--FinancingReceivablePercentPastDue1_iI_pid_dp_uPure_c20241231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zsfMmUdieLSb" title="Sale percentage"&gt;54&lt;/span&gt;%) of sales made in 2024 (2023 - $&lt;span id="xdx_907_eus-gaap--AccountsReceivableNet_iI_c20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zfXHOl6I5PU3" title="Accounts receivable, after allowance for credit loss"&gt;20,482,798&lt;/span&gt; or &lt;span id="xdx_900_eus-gaap--FinancingReceivablePercentPastDue1_iI_pid_dp_uPure_c20231231__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zqSg5IjX3A3d" title="Sale percentage"&gt;53&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="Fact001585"
      unitRef="Segments">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001587">&lt;p id="xdx_898_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zmy4jqovwS8f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zszJQyAViofa" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240101__20241231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zPx3sv107y2j" style="border-bottom: Black 1pt solid; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20240101__20241231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zWGUWGxUWlYg" style="border-bottom: Black 1pt solid; text-align: center"&gt;BPCA&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20240101__20241231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zm0bOSYp2ga" style="border-bottom: Black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
    &lt;sup id="xdx_F5A_zu1sYbQTque"&gt;(1)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20240101__20241231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zJtHMf6mxvt8" style="border-bottom: Black 1pt solid; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zN8krYuJTFoj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 36%"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;759,549&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;37,475,311&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1591"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;38,234,860&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--CostOfGoodsAndServicesSold_zNoh9eaSjFjb" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Cost of sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;350,345&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,644,616&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1596"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,994,961&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--GrossProfit_zX2tyeeh2Crk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;409,204&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,830,695&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1601"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,239,899&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--SalariesWagesAndOfficersCompensation_z5wiISVx1A22" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Wages and administrative salaries&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;90,043&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,653,182&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1606"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,743,225&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--OtherGeneralExpense_zIPquFwNN2B" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office &amp;amp; Miscellaneous&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;45,327&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;759,410&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;570&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;805,307&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--SegmentReportingOtherItemAmount_z7OH9jjs0n33" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other segment items &lt;sup id="xdx_F46_zaLbFgnXlaQe"&gt;(2)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;57,056&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,699,196&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;419,709&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,175,961&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--OperatingIncomeLoss_zB6HK3EhPQ81" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net operating income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;216,778&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,718,907&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(420,279&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,515,406&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InterestExpenseOperating_zHY2fv8jApFd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;309&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;609,956&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1626"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;610,265&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zIpsk9ChtWr3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Depreciation and amortization (included in COGS)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;15,298&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,942,178&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1631"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,957,476&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_z8jP9HYAi26" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capital expenditures&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1634"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,964,736&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1636"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,964,736&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--Assets_iE_zCAjf0hgiqRf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Assets &lt;sup id="xdx_F43_zP7K1iJhSp9f"&gt;(3)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,588,731&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,415,104&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;964,744&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;59,968,579&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Year
ended December 31, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230101__20231231__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zzDuCnEh0n27" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;EWCP&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20230101__20231231__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z05E34IwMeAg" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;BPCA&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231__srt--ProductOrServiceAxis__custom--OtherMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zxRwroPJsks9" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
    &lt;sup id="xdx_F5F_zQwKUFmAg8w3"&gt;(1)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20231231__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zx4JjkW49IJf" style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Consolidated&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zWxDumrJJQbd" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 36%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;572,845&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;37,751,961&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1646"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;38,324,806&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--CostOfGoodsAndServicesSold_zwTqRvuIL6w3" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;359,429&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;27,522,292&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1651"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;27,881,721&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--GrossProfit_zRrx541S8Bcb" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;213,416&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;10,229,669&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1656"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;10,443,085&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--SalariesWagesAndOfficersCompensation_z3lbG84udN3f" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Wages and
    administrative salaries&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;92,302&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,772,359&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1661"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,864,661&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OtherGeneralExpense_zOFLqNxD4xl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office &amp;amp;
    Miscellaneous&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;46,968&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;465,535&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;393&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;512,896&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--SegmentReportingOtherItemAmount_z0kplWjdm6lh" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other segment
    items &lt;sup id="xdx_F47_zbKPvL7nem2i"&gt;(2)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;79,809&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,109,582&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;376,581&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,565,972&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--OperatingIncomeLoss_zlsVM7BPFag8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net operating
    income&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(5,663&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,885,680&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(376,975&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,503,042&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--InterestExpenseOperating_zY5zMQ54l9I9" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Interest
    expense&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;387&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;498,279&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1681"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;498,666&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DepreciationAndAmortization_zHZmXc2T9cX2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Depreciation
    (included in COGS)&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;17,411&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,668,908&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1686"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,686,319&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zNLgzZZj2Qfl" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1689"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,990,675&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1691"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;4,990,675&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--Assets_iE_zsPB8qktVkq8" style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Assets &lt;sup id="xdx_F4E_zZOu9ypj6VAa"&gt;(3)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,889,596&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;50,627,932&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;953,527&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;55,471,055&lt;/span&gt;&lt;/td&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;sup id="xdx_F08_zyDNgBbwaffk"&gt;(1)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F13_z9Ay3peHObbi" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other is not considered
an operating segment and includes expenses and income not identifiable to an operating segment and is not included in operating segment
results&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;sup id="xdx_F08_zhTCQ3asN9u"&gt;(2)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F15_zBz1qwXe3gFd" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other segment items
for each reportable segment includes insurance,  consulting, research, and professional fees.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 6pt; width: 100%"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;
&lt;td style="width: 15pt; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;sup id="xdx_F05_zHBcpUKmu8G5"&gt;(3)&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 5pt"&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span id="xdx_F16_zo5NHbXJFt4c" style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Segment
                                                                                                                                                                                                     assets include cash, term deposits, accounts receivable, inventory, prepaid expenses, property, equipment and leaseholds, right of
                                                                                                                                                                                                     use assets, security deposits, intangible assets, and goodwill.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

</us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001589"
      unitRef="USD">759549</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001590"
      unitRef="USD">37475311</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001592"
      unitRef="USD">38234860</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001594"
      unitRef="USD">350345</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001595"
      unitRef="USD">24644616</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001597"
      unitRef="USD">24994961</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001599"
      unitRef="USD">409204</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001600"
      unitRef="USD">12830695</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001602"
      unitRef="USD">13239899</us-gaap:GrossProfit>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001604"
      unitRef="USD">90043</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001605"
      unitRef="USD">3653182</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001607"
      unitRef="USD">3743225</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:OtherGeneralExpense
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001609"
      unitRef="USD">45327</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001610"
      unitRef="USD">759410</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001611"
      unitRef="USD">570</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001612"
      unitRef="USD">805307</us-gaap:OtherGeneralExpense>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001614"
      unitRef="USD">57056</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001615"
      unitRef="USD">2699196</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001616"
      unitRef="USD">419709</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001617"
      unitRef="USD">3175961</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001619"
      unitRef="USD">216778</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001620"
      unitRef="USD">5718907</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-012024-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001621"
      unitRef="USD">-420279</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001622"
      unitRef="USD">5515406</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpenseOperating
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001624"
      unitRef="USD">309</us-gaap:InterestExpenseOperating>
    <us-gaap:InterestExpenseOperating
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001625"
      unitRef="USD">609956</us-gaap:InterestExpenseOperating>
    <us-gaap:InterestExpenseOperating
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001627"
      unitRef="USD">610265</us-gaap:InterestExpenseOperating>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-012024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001629"
      unitRef="USD">15298</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001630"
      unitRef="USD">1942178</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001632"
      unitRef="USD">1957476</us-gaap:DepreciationAndAmortization>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001635"
      unitRef="USD">-4964736</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001637"
      unitRef="USD">-4964736</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001639"
      unitRef="USD">2588731</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001640"
      unitRef="USD">56415104</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001641"
      unitRef="USD">964744</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001642"
      unitRef="USD">59968579</us-gaap:Assets>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001644"
      unitRef="USD">572845</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001645"
      unitRef="USD">37751961</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001647"
      unitRef="USD">38324806</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001649"
      unitRef="USD">359429</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001650"
      unitRef="USD">27522292</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001652"
      unitRef="USD">27881721</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001654"
      unitRef="USD">213416</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001655"
      unitRef="USD">10229669</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001657"
      unitRef="USD">10443085</us-gaap:GrossProfit>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001659"
      unitRef="USD">92302</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001660"
      unitRef="USD">3772359</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:SalariesWagesAndOfficersCompensation
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001662"
      unitRef="USD">3864661</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001664"
      unitRef="USD">46968</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001665"
      unitRef="USD">465535</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001666"
      unitRef="USD">393</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001667"
      unitRef="USD">512896</us-gaap:OtherGeneralExpense>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001669"
      unitRef="USD">79809</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001670"
      unitRef="USD">2109582</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001671"
      unitRef="USD">376581</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:SegmentReportingOtherItemAmount
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001672"
      unitRef="USD">2565972</us-gaap:SegmentReportingOtherItemAmount>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001674"
      unitRef="USD">-5663</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001675"
      unitRef="USD">3885680</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001676"
      unitRef="USD">-376975</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001677"
      unitRef="USD">3503042</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpenseOperating
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001679"
      unitRef="USD">387</us-gaap:InterestExpenseOperating>
    <us-gaap:InterestExpenseOperating
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001680"
      unitRef="USD">498279</us-gaap:InterestExpenseOperating>
    <us-gaap:InterestExpenseOperating
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001682"
      unitRef="USD">498666</us-gaap:InterestExpenseOperating>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-012023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001684"
      unitRef="USD">17411</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001685"
      unitRef="USD">1668908</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001687"
      unitRef="USD">1686319</us-gaap:DepreciationAndAmortization>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001690"
      unitRef="USD">-4990675</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001692"
      unitRef="USD">-4990675</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001694"
      unitRef="USD">3889596</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001695"
      unitRef="USD">50627932</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_custom_OtherMember_custom_SegmentMember"
      decimals="0"
      id="Fact001696"
      unitRef="USD">953527</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_custom_SegmentMember"
      decimals="0"
      id="Fact001697"
      unitRef="USD">55471055</us-gaap:Assets>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001702">&lt;p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zTgqT9iFNHib" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales
by territory are shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zezhQPSplhuk" style="display: none"&gt;SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240101__20241231_zXtZjuchs647" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20231231_zmTQ469BQLp2" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zF15a979qKe2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;400,693&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;755,844&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_zlvJnjYvKtGk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;United States and abroad&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,834,167&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,568,962&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zzLforfA036l" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;38,234,860&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;38,324,806&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_country_CA"
      decimals="0"
      id="Fact001704"
      unitRef="USD">400693</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_country_CA"
      decimals="0"
      id="Fact001705"
      unitRef="USD">755844</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-12-31_custom_UnitedStatesandAbroadMember"
      decimals="0"
      id="Fact001707"
      unitRef="USD">37834167</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_UnitedStatesandAbroadMember"
      decimals="0"
      id="Fact001708"
      unitRef="USD">37568962</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="Fact001710"
      unitRef="USD">38234860</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001711"
      unitRef="USD">38324806</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001713">&lt;p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zRwap87N8RKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_z5VPPeL5fmf8" style="display: none"&gt;SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 85%; margin-right: auto"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20241231_zVt06JbFngZ3" style="border-bottom: Black 1pt solid; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20231231_zeTPiDme4hta" style="border-bottom: Black 1pt solid; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zdB01Z07JaLe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;116,496&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;142,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zTmDMoVTlsG7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;United States&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,683,963&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,958,778&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_z3z9mOV1GWMj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,800,459&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18,101,355&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2024-12-31_country_CA"
      decimals="0"
      id="Fact001715"
      unitRef="USD">116496</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31_country_CA"
      decimals="0"
      id="Fact001716"
      unitRef="USD">142577</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2024-12-31_country_US"
      decimals="0"
      id="Fact001718"
      unitRef="USD">21683963</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31_country_US"
      decimals="0"
      id="Fact001719"
      unitRef="USD">17958778</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="Fact001721"
      unitRef="USD">21800459</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001722"
      unitRef="USD">18101355</us-gaap:NoncurrentAssets>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      id="Fact001724"
      unitRef="USD">20779311</us-gaap:AccountsReceivableNet>
    <us-gaap:FinancingReceivablePercentPastDue1
      contextRef="AsOf2024-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="INF"
      id="Fact001726"
      unitRef="Pure">0.54</us-gaap:FinancingReceivablePercentPastDue1>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      id="Fact001728"
      unitRef="USD">20482798</us-gaap:AccountsReceivableNet>
    <us-gaap:FinancingReceivablePercentPastDue1
      contextRef="AsOf2023-12-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="INF"
      id="Fact001730"
      unitRef="Pure">0.53</us-gaap:FinancingReceivablePercentPastDue1>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2024-01-01to2024-12-31" id="Fact001732">&lt;p id="xdx_808_eus-gaap--SubsequentEventsTextBlock_zYmU4o0bgHjb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;18.
&lt;span id="xdx_82C_zII4kk44bA34"&gt;SUBSEQUENT EVENTS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
the three months ended March 31, 2025, the Company issued &lt;span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20250101__20250331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_ztyLit6w5nB4" title="Stock option issued upon exercise"&gt;67,000&lt;/span&gt;
shares to employees and &lt;span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20250101__20250331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_z9JKqhQ39JRg" title="Exercise of employee stock options"&gt;65,000&lt;/span&gt;
shares to consultants upon the exercise of stock options.&lt;/span&gt;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2025-01-012025-03-31_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact001734"
      unitRef="Shares">67000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2025-01-012025-03-31_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact001736"
      unitRef="Shares">65000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2024-10-012024-12-31" id="Fact001737">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2024-10-012024-12-31" id="Fact001738">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2024-10-012024-12-31" id="Fact001739">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2024-10-012024-12-31" id="Fact001740">false</ecd:NonRule10b51ArrTrmntdFlag>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#xdx2ixbrl1591"
          xlink:label="xdx2ixbrl1591"
          xlink:type="locator"/>
        <link:footnote id="Footnote001698" xlink:label="Footnote001698" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Other is not considered
an operating segment and includes expenses and income not identifiable to an operating segment and is not included in operating segment
results</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1591"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1596"
          xlink:label="xdx2ixbrl1596"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1596"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1601"
          xlink:label="xdx2ixbrl1601"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1601"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1606"
          xlink:label="xdx2ixbrl1606"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1606"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001611"
          xlink:label="Fact001611"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001611"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001616"
          xlink:label="Fact001616"
          xlink:type="locator"/>
        <link:footnote id="Footnote001699" xlink:label="Footnote001699" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Other segment items
for each reportable segment includes insurance,  consulting, research, and professional fees.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001616"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001616"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001621"
          xlink:label="Fact001621"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001621"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1626"
          xlink:label="xdx2ixbrl1626"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1626"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1631"
          xlink:label="xdx2ixbrl1631"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1631"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1636"
          xlink:label="xdx2ixbrl1636"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1636"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001641"
          xlink:label="Fact001641"
          xlink:type="locator"/>
        <link:footnote id="Footnote001700" xlink:label="Footnote001700" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Segment
                                                                                                                                                                                                     assets include cash, term deposits, accounts receivable, inventory, prepaid expenses, property, equipment and leaseholds, right of
                                                                                                                                                                                                     use assets, security deposits, intangible assets, and goodwill.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001641"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001641"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1646"
          xlink:label="xdx2ixbrl1646"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1646"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1651"
          xlink:label="xdx2ixbrl1651"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1651"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1656"
          xlink:label="xdx2ixbrl1656"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1656"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1661"
          xlink:label="xdx2ixbrl1661"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1661"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001666"
          xlink:label="Fact001666"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001666"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001671"
          xlink:label="Fact001671"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001671"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001671"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001676"
          xlink:label="Fact001676"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001676"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1681"
          xlink:label="xdx2ixbrl1681"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1681"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1686"
          xlink:label="xdx2ixbrl1686"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1686"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#xdx2ixbrl1691"
          xlink:label="xdx2ixbrl1691"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="xdx2ixbrl1691"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001696"
          xlink:label="Fact001696"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001696"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001696"
          xlink:to="Footnote001698"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001614"
          xlink:label="Fact001614"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001614"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001615"
          xlink:label="Fact001615"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001615"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001617"
          xlink:label="Fact001617"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001617"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001669"
          xlink:label="Fact001669"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001669"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001670"
          xlink:label="Fact001670"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001670"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001672"
          xlink:label="Fact001672"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001672"
          xlink:to="Footnote001699"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001639"
          xlink:label="Fact001639"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001639"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001640"
          xlink:label="Fact001640"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001640"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001642"
          xlink:label="Fact001642"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001642"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001694"
          xlink:label="Fact001694"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001694"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001695"
          xlink:label="Fact001695"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001695"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact001697"
          xlink:label="Fact001697"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact001697"
          xlink:to="Footnote001700"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
